* Languages, and about languages, on the BEAM
** Contents :TOC:
- [[#languages-and-about-languages-on-the-beam][Languages, and about languages, on the BEAM]]
- [[#overview][Overview]]
- [[#57-languages-on-the-beam][57 Languages on the BEAM]]
- [[#about-languages][About Languages]]
- [[#about-the-beam][About the BEAM]]
- [[#erlang-and-types][Erlang and Types]]
** 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.
** 57 Languages on the BEAM
First the 1 Erlang itself,
then the 6 main [[#lisps][Lisp-influenced]] languages,
then the 25 [[#statically-typed-languages][statically-typed]] languages,
then the 25 [[#etc][others]]. That's
57 languages in all.
At the December 2025 update, there were too many lisps implemented in erlang and (mostly) elixir in github to count. There are also quite a few language projects I missed earlier. Projects which haven't been updated since 2018 I haven't always included. Many languages I didn't include here are in [[https://github.com/stars/michallepicki/lists/beam-languages][Michał Łępicki's beam languages]] list.
*** erlang itself
- http://www.erlang.org/
- https://github.com/erlang/otp
*** lisps
**** clojerl (2015+)
clojerl - Clojure for the Erlang VM
- http://clojerl.org/
- http://try.clojerl.online/
- https://github.com/clojerl/clojerl
**** lfe (2008+)
- http://lfe.io/
- https://github.com/lfe/lfe
**** erlscheme (-2025)
" An implementation of the Scheme programming language for the Erlang/OTP VM."
- https://github.com/mikpe/erlscheme
**** joxa (2011-2020)
- http://joxa.org/
- https://github.com/joxa/joxa
- https://joxa.readthedocs.org/
***** Differences Between Joxa and LFE
- Eric Merritt
- 2012/02/21
- http://blog.ericbmerritt.com/2012/02/21/differences-between-joxa-and-lfe.html
***** Joxa: A Full Featured Lisp on the Erlang VM
- Eric Merritt
- 2012/08/22
- https://vimeo.com/49116180
**** kapok (2015-2018)
- https://github.com/kapok-lang/kapok
**** 'the concurrent schemer' (2013-2014)
- http://the-concurrent-schemer.github.io/scm-doc/
- https://github.com/the-concurrent-schemer/scm
*** statically-typed languages
**** ActorForth (2020-5)
"A strongly typed Forth-like language ultimately intended to make it easy to build DSLs with an actor concurrency model. Implemented in Erlang. Should get along with anything running on the BEAM."
- https://github.com/ActorForth/ActorForth
**** alpaca (2016+)
- https://github.com/alpaca-lang/alpaca
**** caramel (2020?+)
An Erlang backend to the OCaml compiler
- https://caramel.run/
- https://github.com/leostera/caramel
**** cure (2025+)
A strongly-typed, dependently-typed programming language for the BEAM virtual machine with built-in finite state machines, complete import system, and comprehensive standard library.
- https://cure-lang.org/
- https://github.com/am-kantox/cure-lang
**** cuneiform (2013+)
- https://cuneiform-lang.org
- https://github.com/joergen7/cuneiform
- https://en.wikipedia.org/wiki/Cuneiform_(programming_language)
**** elchemy (2017+)
An Elm syntax front-end for Elixir (i.e., converts Elm-style input language into Elixir source code).
- https://wende.github.io/elchemy/
- https://github.com/wende/elchemy
**** elm-beam (2018)
"Exploring Elm on the Erlang VM"
- https://github.com/kofigumbs/elm-beam
See also blog post [[https://kofi.sexy/blog/elm-beam][elm-beam]].
**** eml (2012)
"eml - Erlang flavored by Some ML"
- https://github.com/etnt/eml
**** erlml (-2018)
"erlml - an ML implementation for the Erlang/OTP VM"
- https://github.com/mikpe/erlml
**** erty (2023)
Erty is Erlang but with stronger support for types (ERlang with TYpes).
- https://github.com/masp/erty
**** fez (2017+)
fez - fsharp to core erlang compiler experiment
- https://github.com/kjnilsson/fez
**** fika (2020)
A statically typed functional programming language for the web
- https://github.com/fika-lang/fika
**** gleam (2016+)
gleam - "A statically typed language for the Erlang VM"
- https://gleam.run
- https://github.com/gleam-lang/gleam
**** hamler (2020)
Haskell-style functional programming language running on Erlang VM.
- https://github.com/hamler-lang/hamler
- https://hamler-lang.org/
**** haskerl et al. (1993-2014)
- https://github.com/etnt/Haskerl
- 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
**** hirð (2026+)
"A typed language for long-running agent systems on BEAM: effect-row tracking, auditable tool effects, typed actors, and OTP supervision." Rust-implemented compiler emitting Erlang source; also ships an LSP server and an MCP server exposing compiler queries (type inference, effect rows, actor protocols) to LLM agents.
- https://github.com/no-materials/hird
**** idris-erlang (2014-17)
- https://github.com/lenary/idris-erlang
This is an Idris package (therefore requiring Haskell and Idris) which compiles Idris source code into erlang source code.
**** idris2-erlang (2020+)
An Erlang code generator for Idris 2 (eg compiles Idris 2 programs to Erlang source code or to BEAM).
- https://github.com/christian-public/Idris2-Erlang
**** lark (-2022)
"... designed to be simple to use, easy to read and provide powerful static guarantees."
- https://github.com/arnfred/Lark
**** purerl (2016+)
Erlang backend for PureScript
- https://github.com/purerl/purerl
- https://purerl.fun/
- Introducing PureScript Erlang ::
http://nwolverson.uk/devlog/2016/08/01/introducing-purescript-erlang.html
**** purescript-backend-erl (-2025)
"PureScript to Erlang optimizing compiler"
- https://github.com/id3as/purescript-backend-erl
**** rufus (2018+)
"A general-purpose programming language for the BEAM"
- https://github.com/rufus-lang/rufus
There's website source, but no website. Some docs, eg here:
- https://github.com/rufus-lang/rufus/blob/main/rufus-lang.org/public/doc/spec.md
Looks like it's implemented in erlang too!
**** sesterl (2020+)
A "Session-Typed Erlang", an ML-inspired statically-typed Erlang
- https://github.com/gfngfn/Sesterl
- [[https://github.com/gfngfn/the_sesterl_book][The Sesterl Book]]
- [[https://blog.michallepicki.com/notes-on-using-sesterl.html][Notes on using Sesterl]]
- [[https://github.com/gfngfn/game_tianjiupai][Sample game reference based on Elm and Sesterl]]
**** shen-erl (-2019)
Erlang port of the [[https://github.com/Shen-Language/shen-sources][Shen programming language]].
- https://github.com/sborrazas/shen-erl
**** terp (-2021)
" A functional programming language with lisp syntax and ML semantics that runs on the BEAM."
- https://github.com/smpoulsen/terp
*** etc
**** bada (2023)
"Simple Programming Language that compiles to BEAM bytecode"
- https://github.com/tsoding/bada
**** dfs (2018-2024)
"Essentially InfluxData's [[https://docs.influxdata.com/kapacitor/v1/reference/tick/][TICKscript]] for Erlang"
- https://github.com/heyoka/dfs
**** efene (2009+)
- http://efene.org/
- https://github.com/efene/efene
**** elixir (2011+)
- http://elixir-lang.org/
- https://github.com/elixir-lang/elixir
**** ephp (2013+)
An erlang interpreter for PHP
- https://github.com/bragful/ephp
Presumably as used by [[https://bragful.com][Bragful]] --- "A resilient and scalable PHP".
**** er (-2020)
" er ~ emergency room (a BEAM language "improving" on Erlang)"
- https://github.com/er-lang/er
**** erl2 (2012)
- https://github.com/joearms/erl2
- 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-2018)
- https://github.com/rvirding/erlog
***** Backtracking in Erlang, part 1 - control
- Robert Virding
- 2009/03/18
- http://rvirding.blogspot.co.uk/2009/03/backtracking-in-erlang-part-1-control.html
**** erlyjs (2008-2013)
The original repo (on Google Code) no longer exists, but there are several forks, e.g.:
- https://github.com/KlausTrainer/erlyjs
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
**** exprolog (-2018)
Exprolog is a logic programming language(DSL) like Prolog built on top of Elixir.
- https://github.com/k1complete/exprolog
**** ffe: Forth-flavoured Erlang (2014-2016)
- https://github.com/tonyrog/ffe
**** gdminus (-2024)
"gdminus is an implementation of [[https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html][GDScript]] for Erlang, allowing Erlang applications to share code with [[https://godotengine.org/][Godot]]."
- https://github.com/saltysystems/gdminus
**** grant_lang (2020)
" A (terrible) BEAM programming language"
- https://github.com/GrantJamesPowell/grant_lang
**** hoeg (2020)
"a toy concatenative language running on the BEAM"
- https://github.com/vorce/hoeg
**** interfix (2015)
- https://github.com/marianoguerra/interfix
**** krarup (2024)
"krarup is an Erlang dialect for composing concurrent data processing flows."
- https://github.com/mpope9/krarup
**** luerl (2012+)
- https://github.com/rvirding/luerl
**** noether (2017-2018)
"... of a C/C++/Java-friendly language to do easier the adoption of the BEAM."
- https://github.com/altenwald/noether
**** OTPCL (2017+)
Open Telecom Platform Command Language: "a scripting language designed to integrate with and extend applications written in BEAM-based languages"
- https://otpcl.github.io/
- https://github.com/otpcl/otpcl
**** plex (-2016)
Plex is a simple programming language based on a notion of objects as extensible records. It supports eager evaluation, first-class functions and dynamic types, but tries to check the integrity of programs statically — that is, at compile time.
- https://github.com/rpip/plex
**** reia (-2012)
- http://reia-lang.org/
- https://github.com/tarcieri/reia
**** slick (2021)
"A duck-typed, dynamic oop language with a fully redundant actor-model, running on top of the BEAM architecture."
- https://github.com/gitter-badger/slick-2
**** tele (2024-5)
"Alternative syntax for Erlang"
- https://github.com/fancycade/tele
- https://telelang.org
**** template_compiler (2016-)
This compiler is a complete rewrite of the Erlang Django (ErlyDTL) template language fork used in Zotonic. In contrast with ErlyDTL
the template_compiler generates small Erlang modules which are shared between different templates and sites.
- https://github.com/zotonic/template_compiler
- https://test.zotonic.com/page/1352/templates
**** xerl (2013)
- https://github.com/extend/xerl
Five web articles in 2013 starting with:
- Xerl: empty modules (2013/01/30) ::
http://ninenines.eu/articles/xerl-0.1-empty-modules/
** About Languages
*** Other BEAM Langagues lists
- [[https://github.com/stars/michallepicki/lists/beam-languages][Michał Łępicki's beam languages]] (current)
*** Implementing languages on the BEAM (4)
(video)
- Robert Virding & Mariano Guerra
- 2018/05/17 (Erlang Solutions Webinar)
- https://www.youtube.com/watch?v=0MTiqI9v-ck
*** Implementing languages on the BEAM (3)
(video)
- Robert Virding & Mariano Guerra
- 2018/03/06 (CodeBEAM SF)
- https://www.youtube.com/watch?v=lkAbwmn5Rv8
*** Efene and the BEAM Community
(slides & video)
- Mariano Guerra
- 2017/06/06 (EUC)
- http://www.erlang-factory.com/euc2017/mariano-guerra
*** How BEAMs are made
Slides with link to github repo
- Mariano Guerra
- 2016/10 (BEAM BA Meetup)
- http://marianoguerra.org/talks/beamba-buenos-aires-meetup/#/how-beams-are-made
*** 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
*** Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)
(slides)
- Hamidreza Soleimani
- 2015/08/06
- https://www.slideshare.net/hamidreza-s/create-your-own-language
*** Implementing Languages on the BEAM (2)
(slides & video)
- Robert Virding
- 2014/11/04 (Codemesh 2014)
- http://www.codemesh.io/codemesh2014/robert-virding
*** Implementing Languages on the BEAM (1)
(video)
- Robert Virding
- 2014/10/29 (London Erlang UG)
- https://www.youtube.com/watch?v=qm0mbQbc9Kc
*** Erlang, LFE, Joxa and Elixir: Established and Emerging Languages in the Erlang Ecosystem
(slides)
- Brian Troutwine
- 2014/07/23
- http://www.slideshare.net/BrianTroutwine1/erlang-lfe-elixir-and-joxa-oscon-2014
** About the BEAM
*** The BEAM Book
A description of the Erlang Runtime System ERTS and the virtual Machine BEAM
https://github.com/happi/theBeamBook
*** The BEAM Toolbox
A list of tools and libraries that are useful for BEAM languages like efene, erlang, LFE and Elixir projects.
http://efene.org/toolbox.html
** 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 (1997)
(paper)
- Simon Marlow & Philip Wadler
- 1997
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang.pdf
*** The great type hope (2002)
(slides)
- Philip Wadler
- 2002
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang-slides.pdf
*** Pure Type System for Erlang (2014+)
- Namdak Tonpa
- 2013
- Paper: http://aip.scitation.org/doi/pdf/10.1063/1.5045439
- Code: https://github.com/groupoid/pure
*** Gradualizer: A Gradual Type System for Erlang (2018+)
A gradual typing system and static code analysis tool for Erlang.
- https://github.com/josefs/Gradualizer
The type system is based on "Gradual Typing for Functional Languages" (Siek & Taha, 2006) (see doc/GTLC.hs):
- http://scheme2006.cs.uchicago.edu/13-siek.pdf.
*** ErlT - experimental erlang dialect (2021)
Facebook's abandoned project to add first-class support for static typing to erlang. Github repo archived and read-only.
- https://github.com/WhatsApp/erlt
*** Bidirectional typing for Erlang (2021)
Erlang Type Checker Prototype Based on Bidirectional Typechecking.
- Nithin Vadukkumchery Rajendrakumar, Annette Bieniusa
- Paper: https://dl.acm.org/doi/10.1145/3471871.3472966
- Video: https://youtube.com/watch?v=MAerjPQUKQQ
- Code: https://github.com/vrnithinkumar/ETC
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
(top 24 of 28)
247 followers · starred Jan 2017
404 followers · starred Feb 2020
127 followers · starred Jan 2017
818 followers · starred Sep 2018
* Languages, and about languages, on the BEAM
** Contents :TOC:
- [[#languages-and-about-languages-on-the-beam][Languages, and about languages, on the BEAM]]
- [[#overview][Overview]]
- [[#57-languages-on-the-beam][57 Languages on the BEAM]]
- [[#about-languages][About Languages]]
- [[#about-the-beam][About the BEAM]]
- [[#erlang-and-types][Erlang and Types]]
** 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.
** 57 Languages on the BEAM
First the 1 Erlang itself,
then the 6 main [[#lisps][Lisp-influenced]] languages,
then the 25 [[#statically-typed-languages][statically-typed]] languages,
then the 25 [[#etc][others]]. That's
57 languages in all.
At the December 2025 update, there were too many lisps implemented in erlang and (mostly) elixir in github to count. There are also quite a few language projects I missed earlier. Projects which haven't been updated since 2018 I haven't always included. Many languages I didn't include here are in [[https://github.com/stars/michallepicki/lists/beam-languages][Michał Łępicki's beam languages]] list.
*** erlang itself
- http://www.erlang.org/
- https://github.com/erlang/otp
*** lisps
**** clojerl (2015+)
clojerl - Clojure for the Erlang VM
- http://clojerl.org/
- http://try.clojerl.online/
- https://github.com/clojerl/clojerl
**** lfe (2008+)
- http://lfe.io/
- https://github.com/lfe/lfe
**** erlscheme (-2025)
" An implementation of the Scheme programming language for the Erlang/OTP VM."
- https://github.com/mikpe/erlscheme
**** joxa (2011-2020)
- http://joxa.org/
- https://github.com/joxa/joxa
- https://joxa.readthedocs.org/
***** Differences Between Joxa and LFE
- Eric Merritt
- 2012/02/21
- http://blog.ericbmerritt.com/2012/02/21/differences-between-joxa-and-lfe.html
***** Joxa: A Full Featured Lisp on the Erlang VM
- Eric Merritt
- 2012/08/22
- https://vimeo.com/49116180
**** kapok (2015-2018)
- https://github.com/kapok-lang/kapok
**** 'the concurrent schemer' (2013-2014)
- http://the-concurrent-schemer.github.io/scm-doc/
- https://github.com/the-concurrent-schemer/scm
*** statically-typed languages
**** ActorForth (2020-5)
"A strongly typed Forth-like language ultimately intended to make it easy to build DSLs with an actor concurrency model. Implemented in Erlang. Should get along with anything running on the BEAM."
- https://github.com/ActorForth/ActorForth
**** alpaca (2016+)
- https://github.com/alpaca-lang/alpaca
**** caramel (2020?+)
An Erlang backend to the OCaml compiler
- https://caramel.run/
- https://github.com/leostera/caramel
**** cure (2025+)
A strongly-typed, dependently-typed programming language for the BEAM virtual machine with built-in finite state machines, complete import system, and comprehensive standard library.
- https://cure-lang.org/
- https://github.com/am-kantox/cure-lang
**** cuneiform (2013+)
- https://cuneiform-lang.org
- https://github.com/joergen7/cuneiform
- https://en.wikipedia.org/wiki/Cuneiform_(programming_language)
**** elchemy (2017+)
An Elm syntax front-end for Elixir (i.e., converts Elm-style input language into Elixir source code).
- https://wende.github.io/elchemy/
- https://github.com/wende/elchemy
**** elm-beam (2018)
"Exploring Elm on the Erlang VM"
- https://github.com/kofigumbs/elm-beam
See also blog post [[https://kofi.sexy/blog/elm-beam][elm-beam]].
**** eml (2012)
"eml - Erlang flavored by Some ML"
- https://github.com/etnt/eml
**** erlml (-2018)
"erlml - an ML implementation for the Erlang/OTP VM"
- https://github.com/mikpe/erlml
**** erty (2023)
Erty is Erlang but with stronger support for types (ERlang with TYpes).
- https://github.com/masp/erty
**** fez (2017+)
fez - fsharp to core erlang compiler experiment
- https://github.com/kjnilsson/fez
**** fika (2020)
A statically typed functional programming language for the web
- https://github.com/fika-lang/fika
**** gleam (2016+)
gleam - "A statically typed language for the Erlang VM"
- https://gleam.run
- https://github.com/gleam-lang/gleam
**** hamler (2020)
Haskell-style functional programming language running on Erlang VM.
- https://github.com/hamler-lang/hamler
- https://hamler-lang.org/
**** haskerl et al. (1993-2014)
- https://github.com/etnt/Haskerl
- 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
**** hirð (2026+)
"A typed language for long-running agent systems on BEAM: effect-row tracking, auditable tool effects, typed actors, and OTP supervision." Rust-implemented compiler emitting Erlang source; also ships an LSP server and an MCP server exposing compiler queries (type inference, effect rows, actor protocols) to LLM agents.
- https://github.com/no-materials/hird
**** idris-erlang (2014-17)
- https://github.com/lenary/idris-erlang
This is an Idris package (therefore requiring Haskell and Idris) which compiles Idris source code into erlang source code.
**** idris2-erlang (2020+)
An Erlang code generator for Idris 2 (eg compiles Idris 2 programs to Erlang source code or to BEAM).
- https://github.com/christian-public/Idris2-Erlang
**** lark (-2022)
"... designed to be simple to use, easy to read and provide powerful static guarantees."
- https://github.com/arnfred/Lark
**** purerl (2016+)
Erlang backend for PureScript
- https://github.com/purerl/purerl
- https://purerl.fun/
- Introducing PureScript Erlang ::
http://nwolverson.uk/devlog/2016/08/01/introducing-purescript-erlang.html
**** purescript-backend-erl (-2025)
"PureScript to Erlang optimizing compiler"
- https://github.com/id3as/purescript-backend-erl
**** rufus (2018+)
"A general-purpose programming language for the BEAM"
- https://github.com/rufus-lang/rufus
There's website source, but no website. Some docs, eg here:
- https://github.com/rufus-lang/rufus/blob/main/rufus-lang.org/public/doc/spec.md
Looks like it's implemented in erlang too!
**** sesterl (2020+)
A "Session-Typed Erlang", an ML-inspired statically-typed Erlang
- https://github.com/gfngfn/Sesterl
- [[https://github.com/gfngfn/the_sesterl_book][The Sesterl Book]]
- [[https://blog.michallepicki.com/notes-on-using-sesterl.html][Notes on using Sesterl]]
- [[https://github.com/gfngfn/game_tianjiupai][Sample game reference based on Elm and Sesterl]]
**** shen-erl (-2019)
Erlang port of the [[https://github.com/Shen-Language/shen-sources][Shen programming language]].
- https://github.com/sborrazas/shen-erl
**** terp (-2021)
" A functional programming language with lisp syntax and ML semantics that runs on the BEAM."
- https://github.com/smpoulsen/terp
*** etc
**** bada (2023)
"Simple Programming Language that compiles to BEAM bytecode"
- https://github.com/tsoding/bada
**** dfs (2018-2024)
"Essentially InfluxData's [[https://docs.influxdata.com/kapacitor/v1/reference/tick/][TICKscript]] for Erlang"
- https://github.com/heyoka/dfs
**** efene (2009+)
- http://efene.org/
- https://github.com/efene/efene
**** elixir (2011+)
- http://elixir-lang.org/
- https://github.com/elixir-lang/elixir
**** ephp (2013+)
An erlang interpreter for PHP
- https://github.com/bragful/ephp
Presumably as used by [[https://bragful.com][Bragful]] --- "A resilient and scalable PHP".
**** er (-2020)
" er ~ emergency room (a BEAM language "improving" on Erlang)"
- https://github.com/er-lang/er
**** erl2 (2012)
- https://github.com/joearms/erl2
- 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-2018)
- https://github.com/rvirding/erlog
***** Backtracking in Erlang, part 1 - control
- Robert Virding
- 2009/03/18
- http://rvirding.blogspot.co.uk/2009/03/backtracking-in-erlang-part-1-control.html
**** erlyjs (2008-2013)
The original repo (on Google Code) no longer exists, but there are several forks, e.g.:
- https://github.com/KlausTrainer/erlyjs
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
**** exprolog (-2018)
Exprolog is a logic programming language(DSL) like Prolog built on top of Elixir.
- https://github.com/k1complete/exprolog
**** ffe: Forth-flavoured Erlang (2014-2016)
- https://github.com/tonyrog/ffe
**** gdminus (-2024)
"gdminus is an implementation of [[https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html][GDScript]] for Erlang, allowing Erlang applications to share code with [[https://godotengine.org/][Godot]]."
- https://github.com/saltysystems/gdminus
**** grant_lang (2020)
" A (terrible) BEAM programming language"
- https://github.com/GrantJamesPowell/grant_lang
**** hoeg (2020)
"a toy concatenative language running on the BEAM"
- https://github.com/vorce/hoeg
**** interfix (2015)
- https://github.com/marianoguerra/interfix
**** krarup (2024)
"krarup is an Erlang dialect for composing concurrent data processing flows."
- https://github.com/mpope9/krarup
**** luerl (2012+)
- https://github.com/rvirding/luerl
**** noether (2017-2018)
"... of a C/C++/Java-friendly language to do easier the adoption of the BEAM."
- https://github.com/altenwald/noether
**** OTPCL (2017+)
Open Telecom Platform Command Language: "a scripting language designed to integrate with and extend applications written in BEAM-based languages"
- https://otpcl.github.io/
- https://github.com/otpcl/otpcl
**** plex (-2016)
Plex is a simple programming language based on a notion of objects as extensible records. It supports eager evaluation, first-class functions and dynamic types, but tries to check the integrity of programs statically — that is, at compile time.
- https://github.com/rpip/plex
**** reia (-2012)
- http://reia-lang.org/
- https://github.com/tarcieri/reia
**** slick (2021)
"A duck-typed, dynamic oop language with a fully redundant actor-model, running on top of the BEAM architecture."
- https://github.com/gitter-badger/slick-2
**** tele (2024-5)
"Alternative syntax for Erlang"
- https://github.com/fancycade/tele
- https://telelang.org
**** template_compiler (2016-)
This compiler is a complete rewrite of the Erlang Django (ErlyDTL) template language fork used in Zotonic. In contrast with ErlyDTL
the template_compiler generates small Erlang modules which are shared between different templates and sites.
- https://github.com/zotonic/template_compiler
- https://test.zotonic.com/page/1352/templates
**** xerl (2013)
- https://github.com/extend/xerl
Five web articles in 2013 starting with:
- Xerl: empty modules (2013/01/30) ::
http://ninenines.eu/articles/xerl-0.1-empty-modules/
** About Languages
*** Other BEAM Langagues lists
- [[https://github.com/stars/michallepicki/lists/beam-languages][Michał Łępicki's beam languages]] (current)
*** Implementing languages on the BEAM (4)
(video)
- Robert Virding & Mariano Guerra
- 2018/05/17 (Erlang Solutions Webinar)
- https://www.youtube.com/watch?v=0MTiqI9v-ck
*** Implementing languages on the BEAM (3)
(video)
- Robert Virding & Mariano Guerra
- 2018/03/06 (CodeBEAM SF)
- https://www.youtube.com/watch?v=lkAbwmn5Rv8
*** Efene and the BEAM Community
(slides & video)
- Mariano Guerra
- 2017/06/06 (EUC)
- http://www.erlang-factory.com/euc2017/mariano-guerra
*** How BEAMs are made
Slides with link to github repo
- Mariano Guerra
- 2016/10 (BEAM BA Meetup)
- http://marianoguerra.org/talks/beamba-buenos-aires-meetup/#/how-beams-are-made
*** 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
*** Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)
(slides)
- Hamidreza Soleimani
- 2015/08/06
- https://www.slideshare.net/hamidreza-s/create-your-own-language
*** Implementing Languages on the BEAM (2)
(slides & video)
- Robert Virding
- 2014/11/04 (Codemesh 2014)
- http://www.codemesh.io/codemesh2014/robert-virding
*** Implementing Languages on the BEAM (1)
(video)
- Robert Virding
- 2014/10/29 (London Erlang UG)
- https://www.youtube.com/watch?v=qm0mbQbc9Kc
*** Erlang, LFE, Joxa and Elixir: Established and Emerging Languages in the Erlang Ecosystem
(slides)
- Brian Troutwine
- 2014/07/23
- http://www.slideshare.net/BrianTroutwine1/erlang-lfe-elixir-and-joxa-oscon-2014
** About the BEAM
*** The BEAM Book
A description of the Erlang Runtime System ERTS and the virtual Machine BEAM
https://github.com/happi/theBeamBook
*** The BEAM Toolbox
A list of tools and libraries that are useful for BEAM languages like efene, erlang, LFE and Elixir projects.
http://efene.org/toolbox.html
** 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 (1997)
(paper)
- Simon Marlow & Philip Wadler
- 1997
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang.pdf
*** The great type hope (2002)
(slides)
- Philip Wadler
- 2002
- http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang-slides.pdf
*** Pure Type System for Erlang (2014+)
- Namdak Tonpa
- 2013
- Paper: http://aip.scitation.org/doi/pdf/10.1063/1.5045439
- Code: https://github.com/groupoid/pure
*** Gradualizer: A Gradual Type System for Erlang (2018+)
A gradual typing system and static code analysis tool for Erlang.
- https://github.com/josefs/Gradualizer
The type system is based on "Gradual Typing for Functional Languages" (Siek & Taha, 2006) (see doc/GTLC.hs):
- http://scheme2006.cs.uchicago.edu/13-siek.pdf.
*** ErlT - experimental erlang dialect (2021)
Facebook's abandoned project to add first-class support for static typing to erlang. Github repo archived and read-only.
- https://github.com/WhatsApp/erlt
*** Bidirectional typing for Erlang (2021)
Erlang Type Checker Prototype Based on Bidirectional Typechecking.
- Nithin Vadukkumchery Rajendrakumar, Annette Bieniusa
- Paper: https://dl.acm.org/doi/10.1145/3471871.3472966
- Video: https://youtube.com/watch?v=MAerjPQUKQQ
- Code: https://github.com/vrnithinkumar/ETC
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
(top 24 of 28)
247 followers · starred Jan 2017
404 followers · starred Feb 2020
127 followers · starred Jan 2017
818 followers · starred Sep 2018