As an aside: is ruby easier to implement than other languages? It’s syntax and features seems more complex than say Python but I’ve heard from others that implementing a new Python distribution in say Rust is a real PITA
As an aside: is ruby easier to implement than other languages? It’s syntax and features seems more complex than say Python but I’ve heard from others that implementing a new Python distribution in say Rust is a real PITA
For example, one may wish to use Artichoke in a game engine for scene scripting. It’s probably undesirable for Ruby code run in this context to modify the host environment, so `ENV` can be disabled at compile time. But maybe you have existing code that uses `ENV`. Toggle a compile time flag and you can get a compatible `ENV` implementation that is backed by a hash map.
> Ruby is simple in appearance, but is very complex inside, just like our human body
I’m not too sure this is for embedding related to size, but more as an abstraction layer to have the ability to switch backend, as well as embedding (as in inside a larger app, not as on embedded-class devices) but aimed at Rust projects.
I find the description a bit misleading:
> Artichoke is a Ruby implementation written in Rust and Ruby
The arch doc seems to indicate this is an implementation in C and Ruby (mruby) with a frontend/backend layer written in Rust, and packaged as crates for ease of use in Rust. Maybe the desc is about the endgame, gradually eating the C part with Rust?
That may be a motivating use case, but it also seems to serve their desire to manage complexity of implementing Ruby by using the strangler pattern and working up from mruby-based to MRI-based to full-Ruby-in-pure-Rust.
> As an aside: is ruby easier to implement than other languages?
From everything I've seen and heard, both from Marx and alternative Ruby implementations, no.