Projects
Home     Blog     Install     New Ticket     View Tickets     Browse Source

MacRuby Brainstorming

For 0.2.

  • Hash re-implemented on top of CFDictionary.
    • Hash will be an alias to NSMutableDictionary.
    • When NSDictionary is subclassed from Ruby, MacRuby will automatically insert the primitive methods into the new class.
    • The primitive methods change the isa back to NSCFDictionary, then call the Ruby implementation via YARV.
  • Array re-implemented on top of CFArray. RARRAY_PTR is not supported anymore (but RARRAY_AT(ary, index) is new).
  • String re-implemented on top of CFString. Still require investigation.
  • Symbols will be exposed using the fake string that is currently used in parse.y.
  • Float and Bignum based on CFNumber.
  • Fixnums will be represented as CFNumbers when converted as an ObjC object, and stored in an unique cache.
  • Qnil, Qtrue and Qfalse automatically converted to NULL and NSCFBoolean.