Here is the weekly status update of the experimental branch! I'm sure you were all expecting it and holding your breath! - Implemented BridgeSupport constants, in a lazy fashion (the symbol is retrieved and converted at demand). - The Pointer class was re-implemented. Same behavior as in trunk but with a new implementation, based on LLVM. Also, a few changes: - Pointer.new is now an alias to Pointer.new_with_type - The first argument can be a symbol instead of the Objective-C runtime encoding type. Symbols currently supported: char, uchar, short, ushort, int, uint, long, ulong, long_long, ulong_long, float, double, string, pointer and object (which is @). These are the same types as used in the FFI API, by the way. - The second argument (optional) can be used to allocate a C array style pointer. The default value is 1. - #[]= was added to set a given Ruby object at the given slot. Note that it does not check bounds. #assign is a shortcut to #[]= with the first argument (slot index) as 0. - #type was added, which returns the Objective-C runtime encoding type. - Incoming pointers passed to an underlying C or Objective-C method will be checked for their type, and a TypeError exception will be raised if they do not match. - Blocks: - Using a block non-recursively should be faster (yay). If used recursively, some bugs have been fixed. - Local or dynamic variables in blocks transformed to Proc objects and leaving the scope of the method where they were created are now working (re-yay). The implementation does not impact the runtime performance of methods using blocks that do not leave their scope. - Ruby methods are now registered into the Objective-C runtime via a specialized stub that we compile at demand, which takes care of dealing with Ruby immediate objects or C types. This means all Ruby methods can now be called from Objective-C and can also overwrite any Objective-C methods. We can pass more Cocoa examples thanks to that. - Support for CoreFoundation types (same behavior as in trunk). - RubySpec was merged from upstream + more Encoding specs work! At this point Cocoa support is looking great and the next step will be to work on the project's installation. Once it can install itself, we can progress and start working on running real MacRuby apps (+ HotCocoa). Laurent