[MacRuby-devel] experimental branch: status update
lsansonetti at apple.com
Mon Apr 6 01:47:24 PDT 2009
I figured out that it would be a good idea to give periodical status
updates on what's happening in the experimental branch, so here is the
first one :)
- The compiler is now able (AFAIK) to compile all the language specs,
so I guess it's now roughly complete.
- Lots of progresses on the RubySpecs - Eloy might want to comment
here maybe :)
- A third of the core/io specs are now passing too. Good progress on
the IO front.
- The `for' expression has been fixed (it was too unstable).
- Lots of fixes in eval & dynamic variables. A preliminary version of
Binding was implemented. The new dvar implementation is more or less
twice faster than the previous one.
- Better exception handling of top level exceptions.
- Calling 'return' from a block has been implemented (but not
- Fixed the 'require of the death' bug (basically, requiring a file
that requires another file that require the first file again).
- Implemented implicit enumeratorization (Example: [1,2,3].each).
- Ported old code to the new rb_objc_block_call() syntax (which is
- Implemented catch/throw.
- Thanks to everything above, IRB is now running!
$ ./miniruby -I./lib bin/irb
irb: warn: can't alias exit from irb_exit.
irb(main):004:0> def foo; 42; end
(With a few caveats: there are _lots_ of bugs around.)
Starting IRB takes about 1.5 seconds on my machine, this is way to
slow and we need to optimize this. So I will work on this. The
compiler & JIT strategy have not been optimized yet.
Next step will be to implement the BridgeSupport plumbing then we can
bootstrap Cocoa again!
More information about the MacRuby-devel