[plt-scheme] guido on tail recursion
Shriram writes:
> It is dangerous to use the term "tail recursion" ever, unless you
> really, really mean recursion in the very narrow sense by which the
> doofus-in-the-street understands it, namely "a function that
> *directly* calls itself".
Or the doofus-in-the-devel-tools, GCC, which will optimize a tail call
if and only if the return type and space requirements for parameters for
the called function exactly match those of the current function. Write
mutually-recursive even? and odd?, stick a gratuitous local variable
into one, and watch the stack overflow.
Perhaps I shouldn't apply the term "doofus" to GCC, though, as it at
least tries, unlike CPython. (And the JVM...) --PR