[gclist] tail recursion requires gc
Hans Boehm
boehm@hoh.mti.sgi.com
Thu, 8 Aug 1996 11:41:18 -0700
Will Clinger wrote:
"By "fully general tail recursion" I
mean that all syntactically tail-recursive calls execute
without allocating any space for a new continuation."
This sort of thing still doesn't strike me as very precise. "Syntactically
tail recursive" can be easily defined. But I haven't a clue how to define
"space for a new continuation". And as a user, I don't really care what the
space is being used or wasted for. It seems to me that we need as a minimum a
precise characterization of those tail calls that retain none of the space
allocated by the caller.
Clearly there are tail calls in both C and Scheme that require part of the
environment of the caller to be retained.
I otherwise agree with Will's message.
Standard disclaimer ...
Hans
--
Hans-Juergen Boehm
boehm@mti.sgi.com