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.
Erlang itself, then the Lisp-influenced languages, then the rest in alphabetical order.
- Eric Merritt
- 2012/02/21
- http://blog.ericbmerritt.com/2012/02/21/differences-between-joxa-and-lfe.html
- Eric Merritt
- 2012/08/22
- https://vimeo.com/49116180
clojerl - Clojure for the Erlang VM
An Elm syntax front-end for Elixir (i.e., converts Elm-style input language into Elixir source code).
“eml - Erlang flavored by Some ML”
An erlang interpreter for PHP
Presumably as used by Bragful — “A resilient and scalable PHP”.
- 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
- Robert Virding
- 2009/03/18
- http://rvirding.blogspot.co.uk/2009/03/backtracking-in-erlang-part-1-control.html
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
fez - fsharp to core erlang compiler experiment
- 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
This is an Idris package (therefore requiring Haskell and Idris) which compiles Idris source code into erlang source code.
Erlang backend for PureScript
- Introducing PureScript Erlang
- http://nwolverson.uk/devlog/2016/08/01/introducing-purescript-erlang.html
Five web articles in 2013 starting with:
- 2013/01/30
- “Xerl: empty modules”
- http://ninenines.eu/articles/xerl-0.1-empty-modules/
(slides)
- Brian Troutwine
- 2014/07/23
- http://www.slideshare.net/BrianTroutwine1/erlang-lfe-elixir-and-joxa-oscon-2014
(video)
- Robert Virding
- 2014/10/29 (London Erlang UG)
- https://www.youtube.com/watch?v=qm0mbQbc9Kc
(slides & video)
- Robert Virding
- 2014/11/04 (Codemesh 2014)
- http://www.codemesh.io/codemesh2014/robert-virding
(slides)
- Hamidreza Soleimani
- 2015/08/06
- https://drive.google.com/file/d/0B9D6BzMBVYONR0ZzV3pTb3N4bms/view?pli=1
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)
- Federico Carrone
- 2015/08/11
- https://medium.com/this-is-not-a-monad-tutorial/eric-merritt-erlang-and-distributed-systems-expert-gives-his-views-on-beam-languages-hindley-a09b15f53a2f
These first two papers are linked from Philip Wadler’s erlang page: http://homepages.inf.ed.ac.uk/wadler/topics/erlang.html
(paper)
- Simon Marlow & Philip Wadler
- 1997
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang.pdf
(slides)
- Philip Wadler
- 2002
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang-slides.pdf
- Namdak Tonpa
- 2013
- https://github.com/5HT/om