10 Java Interop

10.2 Lisp Flavored Erjang

LFE running on Erjang transforms LFE into a close cousin of Clojure. It's rather amazing, to be honest. To provide you the opportunity to share in this amazement, this section of the LFE User Guide Java chapter is dedicated to Erjang.

10.2.1 Introduction

Thanks to Kresten and Trifork, the Erlang community has the option to run many of its libraries and services on the JVM with Erjang.

Key points of Erjang:

  • It is a virtual machine for Erlang which runs on Java 7.
  • It loads .beam files, compiles them to Java .class files and loads them into the JVM.
  • It can boot Erlang/OTP to the Eshell.
  • It runs mnesia, with distribution across Erjang/BEAM nodes.

Smaller projects and libraries tend to run quite nicely on Erjang. Larger systems like RabbitMQ and Riak boot, but still need some work. There is also on-going work to fully support some of the fringe cases exposed by LFE.

10.2.2 Community Resources

Here are some of the Erjang community resources: