[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tail recursion proposal

I don't think that "stack debugging" and such are very good at
justifying a lack of proper tail recursion.  If programs use loops
where they would otherwise use tail recursion, then "stack debugging"
won't find a stack to debug either.  Only those will be surprised by
the ramifications of tail-call elimination who were raised in the
belief that every function call entails the creation of a brand-new
stack frame.

On the other hand, I agree that some of the rhetoric in the proposal
could be cut short.


PS:  As has been noted many times before, the requirement of "proper
tail recursion" does not make much sense if the bounds on space
complexity for all the other language constructs aren't specified at
the same time.  We all have an "intuition" of what is "properly" tail
recursive, but even the proposal that Kent criticized falls short of
providing a tight definition.