[plt-scheme] guido on tail recursion

From: Joe Marshall (jmarshall at alum.mit.edu)
Date: Sat Apr 25 14:49:11 EDT 2009

The word `call' itself is problematic because it implies a return.

On Sat, Apr 25, 2009 at 11:42 AM, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
> 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".
> I have seen an especially strong trend amongst MIT folks to use "tail
> recursion" to refer to the general case of "a sequence of calls that
> eventually result back in the same function, even if indirectly".
> This is technically correct, and the meaning of this general phrase
> may be obvious to all members of the very highly intelligent species
> that populates MIT.  But it confuses the doofus, and that's a problem,
> because it leads to the sort of confusion in Guido's message and
> ensuing discussion -- on a topic that needs less, not more, confusion.
> [Tail calls that do not lead to recursion are still worth optimizing,
> but they cannot lead to order-of-complexity increases in size except
> in pathological cases, so they are not as interesting to focus on
> because that, too, distracts the conversation.]
> Shriram


Posted on the users mailing list.