On 2012-07-11, at 2:31 PM, John Cowan wrote:

> Marc Feeley scripsit:
> 
>> In this example, there will be an arbitrarily long sequence of C calls
>> (in the unwinding of the recursion to even) with no Scheme call, so
>> stack size checks will not be performed during the unwinding, yet the
>> C stack grows during the unwinding.  There is no stack overflow during
>> the winding phase of the recursion because the stack size checks are
>> performed at regular intervals (at each entry to even).
> 
> While you're right, it's not clear that this matters enough to fix.
> It's not a *correctness* error, since every implementation will blow up
> on excessive recursion sooner or later when memory is exhausted.

And I should have mentionned that in the case of Spock, which compiled to 
JavaScript, it crashes much sooner (with n < 10000 on V8).

Marc


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to