[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.