lunatic
async-wormhole
Our great sponsors
lunatic | async-wormhole | |
---|---|---|
86 | 3 | |
4,516 | 108 | |
1.0% | 1.9% | |
5.7 | 0.0 | |
10 days ago | 4 months ago | |
Rust | Rust | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lunatic
-
Spinkube: Running WASM in Kubernetes
This reminds me of Lunatic [1], an Erlang-inspired runtime for WebAssembly. Unfortunately it seems like development stalled some months ago.
-
Spin 2.0 – open-source tool for building and running WASM apps
you can check out https://github.com/lunatic-solutions/lunatic for that
-
Flawless – Durable execution engine for Rust
Very cool, and the approach demonstrated might be of interest to a similar problem we have in Ambient (our WASM game runtime that has competing processes that may need to retry interactions.)
That being said - what’s the relation to Lunatic [0]? Are you still working on Lunatic? Is this a side project? Or is it something completely separate?
-
Async Rust Is A Bad Language
Curious too. I follow Lunatic [0] as a candidate for future use, and also wasmCloud [1].
- Write Elixir NIFs in Rust
- A WASI VM?
- how can I add dynamic loading to do "plugins" for my Rust app?
-
Wasix, the Superset of WASI Supporting Threads, Processes and Sockets
Check out Lunatic https://lunatic.solutions/
-
Elixir and Rust is a good mix
There's a couple of Rust libs and frameworks inspired on Erlang in 'best of both worlds' attempts, such as https://lunatic.solutions
I found others like Lunatic before, but cannot remember right now.
-
Anything close beam/otp for other languages?
There is a really good initiative called Lunatic : https://lunatic.solutions/
async-wormhole
-
A mini-Erlang/Elixir -- tell me if/why my idea sucks
Taking onto such a big project can be scary and overwhelming, so I like to "cheat" a bit. Instead of developing a M:N scheduler I picked an already mature and proven one from the Rust ecosystem: tokio. Then I just needed to develop a virtual stacks solution that works well with the scheduler. Instead of inventing my own byte-code I just picked WebAssembly, it's just a small abstraction above machine code and has mature JIT compiler libraries that generate code close to native speed. Then again, I just needed to figure out how to do reduction counting and insert preemption points into WebAssembly code during loading.
-
Lunatic - An Erlang inspired runtime for all programming languages
Under the hood, Lunatic wraps "processes" inside of Rust async tasks with https://github.com/bkolobara/async-wormhole and can use any async executor to run them. We are currently using Smol's multithreaded executor, so it scales quite nicely across cores.
What are some alternatives?
spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.
hyperscan - High-performance regular expression matching library
actix - Actor framework for Rust.
wit-bindgen - A language binding generator for WebAssembly interface types
wasmCloud - wasmCloud allows for simple, secure, distributed application development using WebAssembly components and capability providers.
bastion - Highly-available Distributed Fault-tolerant Runtime
tui-rs - Build terminal user interfaces and dashboards using Rust
fengari - 🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
lumen - An alternative BEAM implementation, designed for WebAssembly
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
WASI - WebAssembly System Interface