XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
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.

 

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay

 



[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