Erjang - A JVM-based Erlang VM
Kresten Krab Thorup, Trifork
Over the last few years, I have been meeting "Erlang people" more and more often, and I was getting the impression that they have a magical ability to reason intuitively about concurrent systems in a way that I could not. That bothered me, so I wanted to learn Erlang. Being a language implementor, the most obvious way to do that is to just go ahead and implement an Erlang VM, right?
The result of this "little exercise" is Erjang, an open-source JVM-based Erlang VM. It has turned into a non-trivial project, Erjang is now +65k lines of Java code, it runs substantial erlang programs and for some of those even runs faster than "Erlang classic". In this talk, I would like to take you through some of the issues, problems and solutions that I saw going through that exercise, and outline the challenges I see going forward from here.
In short: I will explain how Erjang works, what I learned along the way, and demonstrate that Erjang runs well enough to be obviously useful.