[MacRuby-devel] trunk status update

Laurent Sansonetti lsansonetti at apple.com
Wed Sep 16 01:34:05 PDT 2009

Another status update about the development of MacRuby. The last  
update was about a month ago, I'm sorry about that. A lot of things  
happened since, but this status only covers visible points. The  
upcoming status updates will be more detailed :)

- A lot of StringIO work was done.
- Added a new optimized Array class that is used for default  
allocations. The array is a subclass of NSMutableArray but is faster  
in our benchmarks and is able to efficiently deal with primitive types.
- Added an NSDocument-based Xcode project template, offered by James  
- Marshal is mostly implemented.
- Added support for several missing Ruby method features (such as  
method visibility and scope).
- Added support for the following extensions: etc, fcntl, socket,  
zlib. Fixed a lot of bugs in YAML.
- Fixed a lot of bugs in instance_eval & friends.
- Improved the AOT compiler: added support for missing literals and  
compilation of shared loadable objects. The compiler is able to  
compile irb.
- Added an API that covers the GCD (Grand Central Dispatch) feature of  
Snow Leopard. The API is mostly stable modulo a few crashers.  
Documentation is available in the gcd.c source file as RDoc comments.  
Specs are being written.
- RubySpec was updated from upstream.
- Started the migration to LLVM 2.6. The work is in a branch called  
llvm26 and should work modulo a few well known problems. It will be  
merged soon.
- Re-implemented the IO layer to not use CFStreams anymore. These were  
slow, too complex to use and we had to work around too many problems.
- Added partial support for RubyGems. This is a work in progress, but  
macgem should be able to install gems.
- A lot of less-visible bug fixes and optimizations that are not  
covered here because there are too numerous and I'm a very lazy person.
- Claudio Poli contributed a web application that periodically builds  
binary installers of MacRuby trunk. It is available here: http://macruby.icoretech.org 
. Feel free to use this in case you want a simpler way to follow  
trunk. Please note that these installers won't work on Mac OS versions  
below 10.6 (Snow Leopard).

We are smoothly converging for the 0.5 release and the goal is now to  
deliver a release candidate. Our objective for the first RC is to have  
a fully working rubygems and also implement critical missing features  
(such as backtracing, symbolication and some remaining Binding bugs).  
We expect to deliver it in about 2 weeks (maybe less :)).


More information about the MacRuby-devel mailing list