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

Re: proper tail-recursion proposal



I think the present discussion shows why the R5RS should state
a rationale for its requirement of proper tail recursion.  The
Scheme authors themselves often seem to forget that Scheme
began as an attempt to understand the use of continuation-passing
style in Hewitt's Actor model, and that full-blown CPS is pretty
useless absent proper tail recursion.  Hence

    *  Scheme has always required proper tail recursion.
    *  This requirement was not an arbitrary decision, but
       the inevitable result of the designers' desire to
       support the CPS idiom.
    *  Proper tail recursion is Scheme's original raison
       d'etre.

Most people don't understand this, and don't understand
what the Scheme community means by "proper tail recursion",
so we have to explain it, and we have to explain why it
matters.

It is not so important that we explain why it is possible
to write useful programs in other languages without relying
on proper tail recursion, because most people already
understand that.  The few who don't are beginners who will
get their information from teachers and from textbooks, not
from the R5RS.

Will