(0branch.com) Tail Call Optimisation in Common Lisp Implementations

ROAM_REFS: https://0branch.com/notes/tco-cl.html

An article on guarantees of tail-call elimination in various Common Lisp implementations.

For SBCL, the following is the constraints on when tail-call elimination is done for both self-calls and general tail-calls:

Tail-merging is done if (> SPACE DEBUG) or (> SPEED DEBUG) – not by default.

Local Graph

org-roam 5f613d2c-771b-4275-abf5-02a3ccdaaeb3 (0branch.com) Tail Call Optimisation ... b5fb5c4b-d10f-4bca-91e1-a5e946ef0c83 Common Lisp 5f613d2c-771b-4275-abf5-02a3ccdaaeb3->b5fb5c4b-d10f-4bca-91e1-a5e946ef0c83