Subject: Re: Implementing recursion (Was Re: Char node-type) From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Fri, 24 Nov 2000 03:56:06 -0800 (PST) |
David, The binary cut algorithm was needed to optimise (mimnimise the number of) the recursive calls processing. The meaning of my message is not to use binary cut at all -- it is meaningless to optimise a problem one knows is eliminated... I only know about Saxon and MSXML -- I remember that Mike Kay confirmed in this mailing list not too long ago that SAXON recognised tail recursion and implemented it via iteration. Then someone was complaining about crashes of MSXML when processing recursive transformations -- so I gave it a test and also tested SAXON 5.4. Probably other people will provide information about other popular XSLT processors. Dimitre Novatchev. David Carlisle wrote: > Will it not be simpler just to use SAXON -- it recognises tail > recursion and implements it using iteration -- therefore no stack > overflow will occur. But a good question is the algorithm in question tail recursive? If it's doing a binary cut and processing each branch with two recursive calls then, it isn't... David > In my opinion there must be some requirements in the standard > specifications about the minimum expected robustness and reliability of > an XSLT processor. A good and necessary requirement of this type is > that an XSLT processor should not crash in typical recursive > processing. If I recall, scheme (and XSL's parent, DSSSL) mandate that implementations perform tail recursion elimination. XSLT of course hardly mandates anything about implementaions at all. However it would be good to know if the common implementations do do this, you said saxon does, what of the others? David __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Thousands of Stores. Millions of Products. http://shopping.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Implementing recursion (Was Re:, uche . ogbuji | Thread | Re: Implementing recursion (Was Re:, David Carlisle |
Re: Implementing recursion (Was Re:, David Carlisle | Date | Re: Implementing recursion (Was Re:, David Carlisle |
Month |