[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tail recursion proposal
Heh. Forgot about that. Translated into wording compatible with the
new proposed section, that might say:
Scheme has come to rely so heavily upon proper tail recursion that it
would be unfair and inappropriate to regard it as an optimization;
although the result of what historically began as an arbitrary design
trade-off, members of the Scheme community have come to regard proper
tail recursion as an essential and as such it is a required feature
of the language.
An implementation that fails to implement proper tail recursion is said
to instead support tail call pessimization. Such pretenders are of no
serious use to Scheme programmers because they effectively prevent the
use of tail calls to implement iteration, a widely used and well-loved
programming idiom in the Scheme language [that defeats the widely used
and well-loved program idiom of stack debugging common to other languages].
Tail call pessimization will cause an iteration so programmed to accumulate
unnecessary continuations; informally, they will unnecessarily
``consume stack''. Implementations using tail call pessimization are
without honor and unworthy of the name Scheme.