Erlscripten Transpiling Erlang to Javascript. Yes, you read it right

Hey guys, I would like to share this awesome achievement from æternity team

It is safe to say that Erlang as a language and framework is the most reliable choice out there to build highly stable applications, running the likes of Whatsapp and Discord. Now, there is a transpiler introducing concepts of Erlang to web technology, which would be near impossible to implement manually using Javascript.
Check out for the full article below on the link and please feel free to use it, and share.


Erlscripten looks very cool! :smiley:


Demonstrating our point that we have support for advanced OTP constructs including ETS, Erlang’s in-memory database.


1 Like

Has science gone too far? No.

Does this open up an easier Elixir transpile down the road? I know there were a few Elixir-in-JS projects but none really seemed to get off the ground I think, sounded like a hard project of re-implementing the STL etc.

But if you can go Erlang to JS, surely it’s comparatively less hard to go Elixir to Erlang to JS?

1 Like

So this would for instance allow me to write a gen_statem and have that output JS? Would I be able to target things that only exist in the JS world in the erlang code, like calling window.indexDB and others?

If so that would be amazing for dealing with stuff such as initialising an IndexDB and making sure it’s correctly populated before setting off everything else or warning the user it wasn’t able to do so.

I would be 128% more stoked for this if LiveView hadnt become a thing :sweat_smile:

It would be cool if in the future hooks etc could also be written in elixir :slight_smile:


So good to see that this is a great contribution, feel free to share your thoughts

@omar-aeternity The project looks very promising!

I checked the repo, but there is no info about how to use it, though.

Suppose I’ve got a single simple Erlang module. What steps do I have to take to transpile it to a JS code (starting from cloning the Github repo)?

Hi @bartblast I can invite you to join the discussion in our forum so I can put you in touch with the ones who knows the inside of how it works and what’s missing.

Check here please: