Erlang port to the Java Virtual Machine

Andrew Lentvorski <>
Tue May 30 23:37:37 CEST 2006

Robert Virding wrote:
> Not having tail recursion is a serious problem, Erlang is not usable 
> without it! If the underlying machine does not directly support it then 
> you have to implement it yourself which means you have to go in at a 
> lower level and do more work yourself.

Sure.  But the implementations of JRuby and JScheme seem to work fine 
without support for JVM tail recursion.

> Many years ago there were attempts to implement other high-level 
> languages on the JVM, there may be recent ones but I don't know about 
> them, check the literature to see how they managed. Erlang has similar 
> problems.

They work, more or less.  There are implementations of Ruby, Python, 
Javascript, Common Lisp and Scheme on the JVM.  Common Lisp and Scheme 
are actually considered to be separate here because Scheme requires tail 
recursion whereas Common Lisp does not.

> Another major difficulty is that JVM tasking is too heavy for Erlang.

So are OS threads.  Erlang seems to sidestep that rather neatly.

In addition, the JVM is about to get a much lighter threading-type 
primitive.  People in the web server space have also been complaining 
about the heft of Java threads, too.


More information about the erlang-questions mailing list