Why Tailcalls

From JVMLangSummit
Revision as of 10:29, 28 July 2010 by Jrose (talk | contribs) (New page: 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 def...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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.)

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#.

external links

Proposal
http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm
Thesis
http://www.ssw.uni-linz.ac.at/Research/Papers/Schwaighofer09Master/
mlvm Wiki
http://wikis.sun.com/display/mlvm/TailCalls
mlvm Code
http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/tailc.patch