Joerl
Erlang/OTP-inspired lightweight actor framework in Rust.
brings Erlang/OTP fault-tolerance semantics and actor abstractions to safe, async Rust.
The Pitch
Building fault-tolerant, concurrent systems requires clear message passing boundaries, supervision strategies, and isolated failure domains. While Erlang and Elixir excel at this, high-performance systems often demand Rust's zero-cost safety.
Joerl bridges this gap by implementing an Erlang-inspired actor framework in Rust. Define actors as isolated async tasks, supervise them with standard OTP strategies (one-for-one, one-for-all, rest-for-one), and pass strongly-typed messages without runtime overhead.
Why Joerl?
Erlang Semantics in Rust
Actors run as isolated Tokio tasks with message mailboxes and structured lifecycle management.
OTP Supervision Trees
Built-in supervisors supporting standard restart strategies (
one_for_one
,
one_for_all
,
rest_for_one
).
Type-Safe Messaging
Leverage Rust's enum and trait systems for compile-time verified message handling.
Zero-Cost Abstractions
Fast async execution with Tokio runtime without sacrificing safety or concurrency guarantees.
The Tech
| Language | Rust |
| Paradigm | Actor Model / OTP Supervision |
| Async Engine | Tokio |
| License | MIT / Apache-2.0 |
Who It's For
- Systems Engineers building concurrent, fault-tolerant services in Rust.
- Erlang & Elixir Developers migrating high-throughput workloads to Rust while preserving actor design.
- Rust Engineers looking for structured supervision and process-like isolation.
Bottom Line
Bring Erlang/OTP process isolation and supervision trees to high-performance async Rust applications with Joerl.