OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] RE: Declarative programming requires a different mindset

Note my use of the function, f:substring-before-last(). There is no such built-in function, I created it. Below is how I implemented it. The implementation doesn’t seem descriptive. It seems quite recipe-like:


   Get the substring before $delimiter and output it,

   then output $delimiter, and then recurse.


It seems quite imperative. Do you agree? 


Yes if you think of it that way. Not if you think of it as a definition:


The "suffix" of a string is defined as follows:


(a) Define the "tail" of a string to be the part of a string after the first slash, or the entire string if if contains no slash


(b) The suffix of a string is the tail of the string if it contains no slash, or the suffix of the tail of the string othewise.


That's a recursive definition of the concept. It's not a recipe for evaluation.


Intelligent optimizers are quite capable of adopting a different evaluation strategy for your code from the one you were thinking of. For example, many will turn the recursion into an iteration.



Michael Kay


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS