Subject: RE: Updated Benchmark Available From: "Kennedy, Chris" <chris.kennedy@xxxxxxx> Date: Mon, 9 Oct 2000 08:54:31 -0400 |
Seems to me the points you are making apply more to prolog than lisp. -----Original Message----- From: Joseph Kesselman/Watson/IBM [mailto:keshlam@xxxxxxxxxx] Sent: Friday, October 06, 2000 6:18 PM To: xsl-list@xxxxxxxxxxxxxxxx Subject: RE: Updated Benchmark Available > The project's stylesheet makes heavy use of a tail recursive template. I presume you mean fully tail-recursive -- it's explicitly using call-template to reinvoke itself, and doing no work thereafter. As you said, your Lisp pseudocode example is cheating a bit by explicitly calling (output) on the result of the recursion, so it isn't really tail-recursion; to make it qualify, you'd need to have the body of your pseudocode generate the output and have the recursion _only_ recurse. I haven't thought about XSLT in these terms. The concept seems plausable; the trick is structuring the code to recognize and take advantage of it without incurring significant overhead in other cases. Might be possible to do that in a static optimizing pass before running the stylesheet. Hm. How common is tail recursion in XSLT? It's heavily used in Lisp, but Lisp also tends to recurse much more deeply; I have the impression that in most XSLT stylesheets recursion is on the order of the depth of the source document... and documents (so far) have tended to grow in breadth more rapidly than depth. ______________________________________ Joe Kesselman / IBM Research XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Updated Benchmark Available, Kay Michael | Thread | tail-end recursion, Nick-Lawson.org |
Re: <P><H1></H1></P> to <P></P><H1>, Jeni Tennison | Date | RE:, Keith |
Month |