MacRuby 0.5 has been released (Download link for binaries and source). After a few MacRuby betas, the final release comes with a new VM, threading without a Global Interpreter Lock (GIL), Grand Central Dispatch (GCD) support and much more.
The MacRuby 0.5 status update lists a few of the improvements, eg the AOT compiler macrubyc
:
AOT compiler is more stable, supports compilation of multiple Ruby files into shared/dynamic libraries. It is also documented in a manpage, be sure to check it out for a detailed list of options and some use case examples.
MacRuby 0.5 added a Ruby API for Grand Central Dispatch (GCD), Snow Leopard's new API for accessing system wide thread pools by scheduling lightweight tasks. A tutorial for MacRuby's GCD API is available and explains basic concepts behind GCD. For details about the implementation, gcd.c
, contains the code that maps GCD APIs to Ruby classes.
Meanwhile, work on MacRuby 0.6 has already started. One item on the feature list of 0.6 is already available: MacRuby debugger support (GitHub commit for the Debugger implementation). The commit shows which files were added and which were modified to support the debugging implementation and the debugger frontend which uses the MacRubyDebuggerConnector
to set breakpoints and control execution.
Matt Aimonetti has written up an overview of the MacRuby debugger and how to use it from the command line.