44

Artichoke Is a Ruby Made with Rust

 4 years ago
source link: https://www.tuicool.com/articles/ERrIvab
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Artichoke Ruby

Artichoke is a Ruby implementation written in Rust. Artichoke aspires to be source-compatible with Ruby 2.6.3 .

Why Artichoke?

Artichoke is a work-in-progress. When functional, Artichoke will improve upon MRI in the following ways:

Artichoke will deviate from MRI in the following ways:

  • The only supported encodings are UTF-8, maybe UTF-8 , and binary.
  • Ruby source files are always interpreted as UTF-8.
  • No equivalent C API, which means C extensions are unsupported.

ruby/spec

Artichoke intends to pass 100% of ruby/spec with the exception of specs for non-UTF-8 encodings. To view current progress on ruby/spec compliance, see scripts/spec-compliance.sh or the tracking milestones for :x:language , :x:Core , and :x:Standard Library .

Try Artichoke

You can try Artichoke in your browser . The Artichoke Playground runs a WebAssembly build of Artichoke.

If you would prefer to run a local build, set up a Rust toolchain and launch an interactive Artichoke shell with:

cargo run -p artichoke-frontend --bin airb

Contributing

Artichoke aspires to be a Ruby 2.6.3-compatible implementation of the Ruby programming language. There is lots to do .

If Artichoke does not run Ruby source code in the same way that MRI does, it is a bug and we would appreciate if you filed an issue so we can fix it .

If you would like to contribute code :woman:‍:computer::man:‍:computer: , find an issue that looks interesting and leave a comment that you're beginning to investigate. If there is no issue, please file one before beginning to work on a PR.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK