
Metaruby intends to implement ruby’s internals in ruby itself. Its implementation will use ruby2c to convert itself to C and bootstrap a new ruby binary. Metaruby should be fully compatible w/ Matz’s ruby.
Current Status:
- Ruby2C
- [DONE] ParseTree can extract AST from Ruby directly.
- [DONE] Type inference of AST - still needs polymorphic TI.
- [DONE] Generates C code for minimial subset of ruby.
- [SOME] Generates C code for maximal subset of ruby.
- [NONE] Translator can translate interpreter.
- Test Suite and Specification/Documentation
- [SOME] rubicon audited and ported to BFTS
- Library
- [DONE] Array - implemented and passing tests
- [DONE] Comparable - implemented and passing tests
- [DONE] Enumerable - implemented and passing tests
- [DONE] Exception - implemented and passing tests
- [DONE] FalseClass - implemented and passing tests
- [DONE] FileTest - implemented and passing tests
- [DONE] Hash - implemented and passing tests
- [DONE] NilClass - implemented and passing tests
- [DONE] Range - implemented and passing tests
- [DONE] String - implemented and passing tests
- [DONE] Struct - implemented and passing tests
- [DONE] Time - implemented and passing tests
- [DONE] TrueClass - implemented and passing tests
- [SOME] fill out the rest of this list
- GC
- [NONE] not a damn thing has been done to even look at this yet.
- Parser/Interpreter
- [NONE] not a damn thing has been done to even look at this yet. We’re hoping the ruby-grammarians project or others will help on this front.