[MacRuby-devel] trunk status update
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
- 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
- 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