Difference between revisions of "Why Tailcalls"

From JVMLangSummit
Jump to navigationJump to search
(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...)
 
(languages with guaranteed TCO)
Line 10: Line 10:
  
 
=== languages with guaranteed TCO ===
 
=== languages with guaranteed TCO ===
These are languages with functional patterns, including Scheme, Scala, F#.
+
These are languages with functional patterns, including Scheme, Scala, F#. Seph also aims to give this guarantee.
  
 
== external links ==
 
== external links ==

Revision as of 11:25, 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.)

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.

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