Re: saxon impressions
> Yes, it constrains the processing to be in the natural sequential order. > Like most other languages I use every day! Seems like a big loss. One of the benefits of functional languages is that they are inherently parallelisable. If functions are side effect free you can dispatch them off to be evaluated in any suitable order, or in particular, simultaneously. > (When I asked the question on this list, what is it about stylesheets that > makes the side-effect-free processing model particularly suitable, I got one > response that made sense: the potential for partial regeneration of an > output document if part of the source document changes. Not only if it changes. Even if it is static. If you have a 1000 page book and you want to look at the index (assuming this index is in the source file, not generated on the fly by the stylesheet) Then in a side effect free language you can start processing the nodes for the index and just process earlier nodes if explicitly referenced. With a saxon stylesheet you would presumably have to process the entire book to make sure that any state variable are correctly initialised before you start the index. That is by having global variables you are forcing a particular order on the traversal of the input tree, an order that may or may not be suitable for the ordering required on the result tree. > My current feeling is that the mental contortions needed to write > transformations in a side-effect-free way are a heavy price to pay for > that feature. Strange, I have always found that the functional model was the more natural one, expressions being evaluated and returning results, not having strange side effects all over the place. I suppose it takes all sorts:-) David XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format