4 ms·
I read the "Erlang inspired" more narrowly. Specifically, it's about supporting large numbers of efficient, isolated processes. So there's a single, well-unde
by spinningslate 4y ago
I read the "Erlang inspired" more narrowly. Specifically, it's about supporting large numbers of efficient, isolated processes. So there's a single, well-understood concurrency primitive: the (lunatic) process.
Having written concurrent code in Erlang, C# and Python, I'd view above as a win. A big win. Concurrency decisions in Erlang are simple: if things need to run concurrently, spawn them in different processes. If they're sequential, put them in a function. That's it.
In C# and Python it's nowhere near as straightforward. Do you use OS processes? Threads? Async/Await? Each has different strengths; each also has significant weaknesses.
So: a new runtime that aims to bring Erlang's simple, powerful and scalable concurrency model to any language that targets WebAssembly is, at the very least, interesting. It doesn't need to have all the wider benefits of OTP, or the symbiosis of Erlang and the BEAM. (Though that's great too obviously).