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

Reply via email to