llaisdy/beam_languages

Languages, and about languages, on the BEAM

789

25 commits

updated Aug 24, 2026

See the code

README

* 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.

llaisdy/beam_languages

Languages, and about languages, on the BEAM

789

25 commits

updated Aug 24, 2026

See the code

README

* 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.

Significant stargazers

(top 24 of 28)

Brujo Benavides

247 followers · starred Jan 2017

Alan Zimmerman

404 followers · starred Feb 2020

Andrew Shu

127 followers · starred Jan 2017

Michał Muskała

818 followers · starred Sep 2018