The issue could be splitted to two:

1. Whether the implementation checks stack usage more often
2. Whether the implementation terminates with more descriptive
   message than SEGV

I think John argues on the first ground, however Marc's argument
can cover both.

These days PCs have lots of heap, and busting it with incorrect
program can take long time, with some inconveniences.  (When I see
the problem the machine is thrashing crazily.)  So addressing
the option 2 itself makes sense, I guess.  I don't know
about Chicken internals enough to say handling SEGV in this
situation is feasible or not, though.

--shiro


From: John Cowan <co...@mercury.ccil.org>
Subject: Re: [Chicken-users] Unbounded stack growth
Date: Wed, 11 Jul 2012 14:31:58 -0400

> 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.
> 
> If the overflow check were done, the maximum recursion depth would be
> bounded by the C heap, not the C stack.  However, inserting all those
> checks has a cost.  So it would be a question of measuring the added cost
> of the checks over a large variety of programs.  If it's consistently
> small, they should be added; if not, there should be an option to provide
> them or to turn them off.

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

Reply via email to