[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: RE: Declarative programming requires a different mindset

  • From: "Michael Kay" <mike@saxonica.com>
  • To: "'Costello, Roger L.'" <costello@mitre.org>,<xml-dev@l...>
  • Date: Thu, 25 Mar 2010 12:26:44 -0000

RE:  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]


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.