bastion
lumen
Our great sponsors
bastion | lumen | |
---|---|---|
15 | 28 | |
2,747 | 3,561 | |
0.8% | 0.6% | |
0.0 | 5.4 | |
11 months ago | 5 months ago | |
Rust | Rust | |
Apache License 2.0 | 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.
bastion
- Write Elixir NIFs in Rust
-
lunatic v0.9 released - Bringing Erlang's supervisors to Rust
How is this better / different than https://github.com/bastion-rs/bastion ?
-
Introspection in Erlang/BEAM-inspired Async-Rust-Executors?
There are attempts to implement an Erlang/BEAM-inspired reactor/runtime/executor/ecosystem for Rust's Async, in particular Bastion. (There are also Lumen, Lunatic and Async-Backplane/Async-Supervisor.)
- What is the current state of actor systems in Rust?
-
Announcing "Zestors": A simple, fast and flexible actor-framework
I would be interested in an example showing how to build a robust runtime like bastion with fault tolerance.
-
Async feedback from 2 years of usage
But the issue you're referring to, building a fault-tolerant web server where you can have granular control over killing background jobs regardless if they're blocked on a syscall, totally requires using this kind of software architecture. See Bastion.
-
Can one code different kind of multithreading paradigms in Rust (BEAM, Node, Go)?
Bastion, a Rust async runtime inspired by the beam distribution and supervision model
-
Linus Torvalds on Rust support in kernel
I don't really know much about erlang, but I think this may be along the lines of what you are thinking of: https://github.com/bastion-rs/bastion
(I also don't really think the linux kernel people would be interested...)
-
Lunatic - An Erlang inspired runtime for all programming languages
This reminds me of bastion. Looks like it attempts to fulfill the same needs, though I guess Lunatic has native WASM support whereas bastion might require some tweaking to have it work? Haven't worked with bastion, so that part of harder time with WASM is just a wild speculation. On the other hand bastion looks much more mature. Probably /u/vertexclique could give a more informed opinion about the difference between the two ;) I really like what these projects are putting forward.
- bastion - Highly-available Distributed Fault-tolerant Runtime
lumen
-
Firefly – A new compiler and runtime for BEAM languages
See the about section: https://github.com/GetFirefly/firefly#about-firefly
> The primary motivator for Firefly's development was the ability to compile Elixir applications that could target WebAssembly, enabling use of Elixir as a language for frontend development. It is also possible to use Firefly to target other platforms as well, by producing self-contained executables on platforms such as x86.
There are details on this also: https://github.com/GetFirefly/firefly#runtime
Generally it should be assumed that actors and their concurrency model is fully supported as that is a part of the core semantics for BEAM languages.
- Elixir – Phoenix LiveView Native
-
Is there a way to create client-side interactivity like Vue or React with only Elixir?
Probably not a practical solution for what you are building now, but it's worth pointing out Lumen, an Erlang VM implementation that compiles to WebAssembly, and could one day enable Elixir on the frontend.
-
You had a head start, Gopher, but you can't outrun this crab.
Another vector could be some tooling that makes it easy to run Go programs compiled to Wasm run inside of Wasmtime environment hosted in Rust. If we run the go tooling in the same system, one could point this tool at a Go repo and be running that Go in a matter of milliseconds. A fun feature would be running channels across separate Wasm envs. Or maybe use Lumen.
-
If you were in charge of a startup tech stack, how would you use elixir to actually scale and make every work seamlessly?
Wish the Elixir WASM project -- Lumen -- were active. It seems like nothing much is happening on it.
-
Lisp in Space
The BEAM (runtime?) is written in C. There is also an effort to rewrite it in Rust (https://github.com/lumen/lumen). Some functions are built into the VM but most of the supporting 'standard library' (OTP / Open Telecom Platform) is written in Erlang. The (main) compiler is written in C. So it's all C or Erlang afaik.
It is ported to every major flavour of OS.
I don't know what 'back end' means in this context.
-
Introspection in Erlang/BEAM-inspired Async-Rust-Executors?
There are attempts to implement an Erlang/BEAM-inspired reactor/runtime/executor/ecosystem for Rust's Async, in particular Bastion. (There are also Lumen, Lunatic and Async-Backplane/Async-Supervisor.)
-
WebAssembly: The New Kubernetes?
If I recall correctly, Saša Jurić mentioned in an interview that he envisions the BEAM being used as an OS in the future, where you can run your database, web server and other services under one VM.
While I don't personally have much use for it (at the moment), I'm curious about how this would look like with Lumen [0] where you can run your whole web stack with a single binary and being internally supervised by the BEAM.
Lumen's development has been slow but I remember seeing a tweet from a team member stating that development is slowly ramping back up (not a criticism in any way, just providing some context).
What are some alternatives?
actix - Actor framework for Rust.
wasmex - Execute WebAssembly from Elixir
smol - A small and fast async runtime for Rust
lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
purerl - Erlang backend for the PureScript compiler
riker - Easily build efficient, highly concurrent and resilient applications. An Actor Framework for Rust.
tiny-tokio-actor - A simple tiny actor library on top of Tokio
rustig - A tool to detect code paths leading to Rust's panic handler
Gradualizer - A Gradual type system for Erlang
async-backplane - Simple, Erlang-inspired fault-tolerance framework for Rust Futures.