[gclist] tail recursion requires gc

Charles Fiterman cef@geode.geodesic.com
Wed, 07 Aug 1996 14:07:53 +0100


>You can't reasonably expect an implementation to be properly
>tail recursive unless it includes a garbage collector, so
>that the compiler can use heap allocation instead of stack
>allocation whenever stack allocation would interfere with
>tail recursion.
>
>Tail recursion is therefore very tightly coupled to garbage
>collection.  General tail recursion optimization _requires_
>garbage collection.
>
>So don't expect gcc or any other C compiler to provide fully
>general tail recursion any time soon.  That won't happen
>until gc becomes a de facto standard part of C.

We sell a garbage collector for C/C++ and while we expect it
to become a standard option I don't see it as being an absolute
standard any time soon. C simply allows too much wierd stuff
like xoring pointers etc.

Charles Fiterman	Geodesic Systems
Phone 312-728-7196	4745 N. Ravenswood
Fax   312-726-6096	Chicago Il 60015