[MacRuby-devel] 0.3 available for testing

Laurent Sansonetti lsansonetti at apple.com
Sat Sep 6 16:32:08 PDT 2008


Hi,

It's time for another release, this time 0.3. The content of trunk was  
merged into the testing branch, and unless something really bad is  
reported, it will be released tomorrow to the public.

There has been a lot of work on trunk recently, here are some  
important changes:

- HotCocoa! This is a new core library that ships with MacRuby, and  
greatly simplifies Cocoa programming, using Ruby idioms when  
necessary. Rich Kilmer is the man behind most (to not say all) this  
work. There are a few samples in the HotCocoa subdirectory, and some  
bits of documentation in http://www.macruby.org/trac/wiki/HotCocoa  
(which will be improved soon). It's still a work in progress, but it's  
very promising, and also it's very simple to help by contributing  
mappings.

- MacRuby is now using the Objective-C runtime to implement the Ruby  
class semantics and also to dispatch Ruby methods. This is an  
important change because it simplifies the core implementation a lot,  
and also eliminate ambiguities between both worlds. Performance wise  
we should be as performant as yarv, faster in some cases, slower in  
others. There are still a few things I can do to improve them though.

- Interface Builder support. IB will automatically recognize classes,  
outlets and actions that you implement in Xcode. I implemented a new  
parser in MacRuby for that, based on ripper, and it should work with  
both RubyCocoa and MacRuby files.

- Lots of bug fixes, especially regarding Ruby and Cocoa  
compatibility. We are able to run RubyGems and LimeChat! And I ported  
the PagePacker application to MacRuby (you can find it in the sample  
code too), which uses many Cocoa features.

Please give it a test if you can!

$ svn co http://svn.macosforge.org/repository/ruby/MacRuby/branches/testing 
  macruby-testing
$ cd macruby-testing
$ rake
$ sudo rake install

Laurent


More information about the MacRuby-devel mailing list