Hi guys,
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
optimized, yet).
- 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
faster).
- 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):001:0> 1+2
=> 3
irb(main):002:0> x=40
=> 40
irb(main):003:0> x+2
=> 42
irb(main):004:0> def foo; 42; end
=> nil
irb(main):005:0> foo
=> 42
irb(main):006:0>
(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!
Laurent
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel