README.org
Overview
This document is intended to list (a) languages implemented to run on the BEAM, the Erlang virtual machine, and (b) documents (articles & presentations) about the hows and whys of writing languages to run on the BEAM.
For the moment, and for want of a better name, I call such languages “BEAM languages” (although I have heard that there are other Erlang VMs, …).
I would like the document to be comprehensive, or at least “representative”. If I have missed a BEAM language, some noteworthy discussion about a BEAM language, or documentation about implementing languages targetting the BEAM, please let me know through the usual channels (issues, forks, PRs, tweets, emails, etc.).
Thank you.
Languages
Erlang itself, then the Lisp-influenced languages, then in alphabetical order.
erlang
joxa (2011+)
Differences Between Joxa and LFE
Joxa: A Full Featured Lisp on the Erlang VM
lfe (2008+)
‘the concurrent schemer’ (2013+)
efene (2009+)
elixir (2011+)
eml (2012)
“eml - Erlang flavored by Some ML”
erl2 (2012)
- Announcement and ensuing discussion on erlang-questions
- http://erlang.org/pipermail/erlang-questions/2012-February/064687.html
- “A Few Improvements to Erlang” (EUC 2012)
- http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/joearmstrong
- A blog post about the above presentation in Chinese
- http://www.cnblogs.com/me-sa/archive/2012/06/06/2538941.html
erlog (2008+)
Backtracking in Erlang, part 1 - control
erlyjs (2008-2013?)
The original repo (on Google Code) no longer exists, but there are several forks, e.g.:
A couple of blog posts from 2008 (the second is by the original developer of erlyjs):
- ErlyJS: JavaScript on Erlang
- http://ajaxian.com/archives/erlyjs-javascript-on-erlang
- ErlyJS - translating Javascript to Erlang
- http://rsaccon.blogspot.co.uk/2008/02/erlyjs-translating-javascript-to-erlang.html
haskerl et al. (1993-2014?)
- The Haskerl Index
- http://www.dcs.gla.ac.uk/~partain/haskerl.html
- Yhc/Erlang/Proof of concept
- https://wiki.haskell.org/Yhc/Erlang/Proof_of_concept
interfix (2015)
luerl (2012+)
reia (-2011)
xerl (2013)
Five web articles in 2013 starting with:
About Languages
Erlang, LFE, Joxa and Elixir: Established and Emerging Languages in the Erlang Ecosystem
(slides)
Implementing Languages on the BEAM (1)
(video)
Implementing Languages on the BEAM (2)
(slides & video)
Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)
(slides)
Eric Merritt, Erlang and distributed systems expert, gives his views on BEAM languages, Hindley–Milner type systems and new technologies
(article/interview, with links to podcast & video)
Erlang and Types
These first two papers are linked from Philip Wadler’s erlang page: http://homepages.inf.ed.ac.uk/wadler/topics/erlang.html
A practical subtyping system for Erlang
(paper)
The great type hope
(slides)