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