Comment by cryptonector
Comment by cryptonector 15 hours ago
> if your code actually depends on TCE for correct execution, that code might exhaust the stack under ordinary interpreter/compiler settings
But Lisp programmers tend to use recursion for iteration and very much count on TCO. So it really has to be implemented, and the language should require it.
Counting on TCO is more of a Scheme thing (where the language spec guarantees it) than a Common Lisp thing. CL does not guarantee TCO so, at least historically, looping (various forms, not just the LOOP facility) was quite common.