Artichoke Alternatives
-
optcarrot
A NES emulator written in Ruby
Posts
- "Artichoke is a Ruby made with Rust that compiles to WebAssembly"
- Artichoke is a Ruby made with Rust that compiles to WebAssembly
-
Artichoke is a Ruby Made with Rust that compiles to WebAssembly
Here's a permalink: https://github.com/artichoke/artichoke/blob/939fffc015255736...
Thanks for catching this. That is spot on. These APIs in the `Symbol` backend [0] show this concept off really well I think.
The `Symbol` data structure knows how to, e.g. render its `Symbol#inspect` implementation [1]. To extract the underlying bytes associated with the `Symbol`, however, it needs an interpreter. But not a whole interpreter or any particular interpreter, just one that implements `Intern` [2].
[0]: https://github.com/artichoke/artichoke/blob/2d67d8537c1340f1...
Vision document here that outlines objectives in detail.
What makes Artichoke more suitable than MRI for compilation to WebAssembly (and for embedding, and for single-binary distribution [0])?
Is it just that Artichoke is written in Rust? Or does it make different trade-offs in its design?
[0] https://github.com/artichoke/artichoke/blob/2d67d8537c1340f1...
You might be interested in this early work to build a Sinatra echo server [0] with Artichoke (called ferrocarril back then). `hubris` used a custom Rack-compatible web server called `nemesis` [1] based on Rocket [2], a Rust Flask-like web framework.
[0]: https://github.com/artichoke/artichoke/tree/97ba69d31154be45...
[1]: https://github.com/artichoke/artichoke/tree/97ba69d31154be45...
[2]: https://rocket.rs/
You might want to check out https://github.com/artichoke/artichoke/blob/2d67d8537c1340f1... which lays out the goals for the project.
Stats
artichoke/artichoke is an open source project licensed under MIT License which is an OSI approved license.