← Back to context

Comment by 2ndorderthought

1 day ago

A lisp without tail recursion would be a sad thing.

It's not unusual for lisp interpreters to lack TCO. Also the (relative) popularity of dynamic binding in Common Lisp reduced the opportunities for TCO.

There's not really a consensus in the parts of the CL community that I'm familiar with on whether or not code relying on TCO is idiomatic or not.

Common Lisp does not require implementations preform tail call optimization in general, or even in just the limited case of tail recursion.