xsl-list
[Top] [All Lists]

Re: [xsl] Maximum recursion depth exceeded

2009-07-07 09:44:15
Actually I'm probably also annoyingly imprecise earlier when I said that

" I don't think those would be considered as .NET languages, those are
languages implemented in .NET."

since I obviously don't know that they are implemented in .NET and not
in some unmanaged language and then wrapped...although that would
surprise me

Cheers,
Bryan Rasmussen


On Tue, Jul 7, 2009 at 3:41 PM, bryan
rasmussen<rasmussen(_dot_)bryan(_at_)gmail(_dot_)com> wrote:
On Tue, Jul 7, 2009 at 3:16 PM, Dimitre 
Novatchev<dnovatchev(_at_)gmail(_dot_)com> wrote:
On Tue, Jul 7, 2009 at 1:19 AM, bryan
rasmussen<rasmussen(_dot_)bryan(_at_)gmail(_dot_)com> wrote:
On Tue, Jul 7, 2009 at 9:55 AM, Michael Kay<mike(_at_)saxonica(_dot_)com> 
wrote:
anyway, recursion problems are likely to be a problem in .NET
/ C#, as far as I know currently the only .NET language that
can compile and optimize for tail recursion is F#..

Well, I know of at least two others: XSLT and XQuery, as implemented by
Saxon.

I don't think those would be considered as .NET languages, those are
languages implemented in .NET. Sorry if I was imprecise earlier.


1. Quite some of Bryan's statements about how "System.Xml.Xsl" does
work are far from correct. One of them is that tail recursion is not
supported. Tail recursion *is* optimized by XslCompiledTransform in
non-debugging mode.

I never said that Tail recursion is not supported in XSLT or
system.xml.xsl. I said that the only .NET language I am aware of where
it is supported is F# - I'm not sure if I would consider an XSLT
compiled via XslCompiledTransform  to be a '.NET language' (I believe
I used the example of C#) , I haven't really thought about it though -
would you say it is?

2. To the original OP: The message by Saxon is generally presented
whenever Saxon runs out of memory -- this may or maynot be caused by
recursion stack overflow!


To summarize: Prefer using DVC recursion to tail-recursion as a
practical way to avoid the recursion stack overflow problem.

you're right of course, specifically as regards the practicality - but
it is annoying when I know I have a function that is properly tail
recursive and it overflows anyway...(This would be a C# problem, not
XSLT in System.XML.XSL)


Cheers,
Bryan Rasmussen


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--