Lunatic - An Erlang inspired runtime for all programming languages (WebAssembly)

More cool tech inspired by erlang :nerd_face:

By combining the fault-tolerance and massive concurrency of Erlang with the capability-based security of WebAssembly, it creates a powerful programming model.

Architecture

Lunatic is a single executable and runs on Windows, macOS and Linux. It spawns lightweight processes from WebAssembly modules that have their own heap/stack. These processes are preemptively scheduled on a multi-threaded executor.

Processes

Lunatic’s design is all about super lightweight processes. Processes are fast to create, have a small memory footprint and a low scheduling overhead. They are designed for massive concurrency.

Isolation

Lunatic sits between your operating system and the running processes. This allows it to decide on a per process basis what syscalls are going to be forwarded to the operating systems.

If you would like to run some untrusted code, you can. Just spawn it inside of a process without any privileges.

3 Likes