Why Tailcalls
From JVMLangSummit
Jump to navigationJump to searchAre tailcalls fated to come in second place on every feature priority list?
Let's gather the use cases and consider the implementation.
(Note: This page is about "hard tail calls" as defined in the Rose blog. Soft TCO is already in many compilers, but does not have a strong effect on software architecture.)
Contents
use cases
multi-core task distribution
(Doug Lea) chaining task execution; without tail calls you blow the stack needlessly
languages with guaranteed TCO
These are languages with functional patterns, including Scheme, Scala, F#. Seph also aims to give this guarantee.
guaranteed disposal of stack-frame
Clojure needs workarounds to avoid floating garbage
Kōan
Tail call... Booty call... More than a coincidence? You decide.