Re: [xsl] Maximum recursion depth exceeded

Subject: Re: [xsl] Maximum recursion depth exceeded
From: bryan rasmussen <rasmussen.bryan@xxxxxxxxx>
Date: Tue, 7 Jul 2009 15:43:49 +0200
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.bryan@xxxxxxxxx> wrote:
> On Tue, Jul 7, 2009 at 3:16 PM, Dimitre Novatchev<dnovatchev@xxxxxxxxx>
wrote:
>> On Tue, Jul 7, 2009 at 1:19 AM, bryan
>> rasmussen<rasmussen.bryan@xxxxxxxxx> wrote:
>>> On Tue, Jul 7, 2009 at 9:55 AM, Michael Kay<mike@xxxxxxxxxxxx> 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 B 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

Current Thread