lunatic
base64-bytestring
Our great sponsors
lunatic | base64-bytestring | |
---|---|---|
86 | 1 | |
4,530 | 45 | |
0.7% | - | |
5.7 | 4.7 | |
about 1 month ago | 7 months ago | |
Rust | Haskell | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
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.
[1] https://lunatic.solutions/
-
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?
[0]: https://lunatic.solutions/
-
Async Rust Is A Bad Language
Curious too. I follow Lunatic [0] as a candidate for future use, and also wasmCloud [1].
[0] https://lunatic.solutions/
[1] https://wasmcloud.com
- 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/
base64-bytestring
-
Yatima: A programming language for the decentralized web
Sure, if you consider Haskell's runtime (I know that technically GHC /= Haskell, but in practice it's the only Haskell that matters, except maybe something like Asterius) all the primitives are backed by C libraries: https://hackage.haskell.org/package/ghc-prim-0.4.0.0/docs/GH...
Likewise with conventions around pointers, arrays, etc. to the point where if you want to do anything really low-level or performance sensitive in Haskell, you're essentially punching a hole into C. As a random example, within the fast base64bytestring library, you find lots of use of `malloc`, `ForeignPtr` etc.: https://github.com/haskell/base64-bytestring/blob/master/Dat... And of course because this is C there aren't really many safety guarantees here.
The plan with Yatima with its primitives, and eventually when we write an FFI is to integrate with Rust in the same way that Haskell uses C. My hope is that with Yatima's affine types we might even be able to FFI to and from safe Rust (since the borrow checker uses affine types), but this is a little bit of a research project to see how much that works. Even to unsafe Rust though, we have better safety guarantees than C, since unsafe Rust's UB is still more restricted than C's is.
What are some alternatives?
spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.
msgpack - Haskell implementation of MessagePack / msgpack.org[Haskell]
hyperscan - High-performance regular expression matching library
asn1-encoding - ASN1 Raw/BER/DER/CER reader/writer in haskell
actix - Actor framework for Rust.
data-lens - Haskell 98 Lenses
wit-bindgen - A language binding generator for WebAssembly interface types
cassava-conduit - Conduit interface for cassava [Haskell]
wasmCloud - wasmCloud allows for simple, secure, distributed application development using WebAssembly components and capability providers.
bimap - Bidirectional mapping between two key types
bastion - Highly-available Distributed Fault-tolerant Runtime
filesystem-trees - Traverse and manipulate directories as lazy rose trees