

Lunatic
Lunatic is an Erlang-inspired runtime for WebAssembly.
Cost / License
- Free
- Open Source
Platforms
- Mac
- Windows
- Linux
- BSD
- WebAssembly
- Self-Hosted
- Rust
Features
- Platform as a service
- Rust
Tags
- lunatic
- vm
- erlang
- wasm
- elixir
- runtime
- assemblyscript
- webassembly
- actors
- Security & Privacy
- paas
Lunatic information
What is Lunatic?
Lunatic is an Erlang-inspired runtime for WebAssembly
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.
Supported features:
- Creating, cancelling & waiting on processes
- Fine-grained process permissions
- Process supervision
- Channel based message passing
- TCP networking
- Filesystem access
- Distributed nodes
- Hot reloading


