Exploring Elm on the Erlang VM
Switch branches/tags
Nothing to show
Clone or download



elm-beam compiles Elm to assembly that runs on the Erlang Virtual Machine. I wrote an essay touching on the interesting parts of this project, which you can find on my blog. Here are some clarifications I offer in that post:

  • elm-beam is a personal exploration
  • elm-beam is incomplete (in every sense)
  • elm-beam is NOT endoresed by the Elm core team
  • elm-beam is NOT "Elm on the server"

Setup guide

Use stack to build the elm-beam executable.

# make sure you have the `elm-compiler` submodule
git submodule init
git submodule update

# build the executable
stack build

# compile the test .elm file to produce elm.beam
stack exec elm-beam debug/Main.elm

# load the BEAM module into the Erlang console and start the gen_server
1> l(elm).
2> gen_server:start({local, elm}, elm, [], []).
3> gen_server:call(elm, {}).


To those interested in continuing the exploration: join us in the #elm-beam channel on the Elm Slack.