Proper tail recursion
Implementations of Scheme are required to be
properly tail-recursive.
Procedure calls that occur in certain syntactic
contexts defined below are tail calls. A Scheme implementation is
properly tail-recursive if it supports an unbounded number of active
tail calls. A call is active if the called procedure might still
return. Note that this includes calls that might be returned from either
by the current continuation or by continuations captured earlier by
|