Difference between revisions of "Why Tailcalls"
From JVMLangSummit
Jump to navigationJump to search (→languages with guaranteed TCO) |
(→use cases) |
||
Line 11: | Line 11: | ||
=== languages with guaranteed TCO === | === languages with guaranteed TCO === | ||
These are languages with functional patterns, including Scheme, Scala, F#. Seph also aims to give this guarantee. | These are languages with functional patterns, including Scheme, Scala, F#. Seph also aims to give this guarantee. | ||
+ | |||
+ | === Kōan === | ||
+ | Tail call... Booty call... More than a coincidence? You decide. | ||
== external links == | == external links == |
Revision as of 11:35, 28 July 2010
Are 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.
Kōan
Tail call... Booty call... More than a coincidence? You decide.