[MacRuby-devel] Grand Central Dispatch and MacRuby?

Laurent Sansonetti lsansonetti at apple.com
Tue Jun 9 12:49:47 PDT 2009


On Jun 9, 2009, at 10:59 AM, Jordan K. Hubbard wrote:
> On Jun 9, 2009, at 5:57 AM, Rich Morin wrote:
>
>> It's also pretty clear that any first-class development language
>> on Mac OS X, going forward, will have to support this.  Ruby has
>> all sorts of block-based goodness already and Laurent is busily
>> implementing JIT for MacRuby, so I speculate that GCD may well be
>> in MacRuby's future.
>>
>> Has anyone looked into this possibility, if only to the extent of
>> sketching out what language extensions might be needed?
>
> Various apple folks on this list have, as one might expect, looked  
> into the possibility.  Given that MacRuby is a cooperative project  
> which involves folks both inside and outside Apple, however, we need  
> to wait for SnowLeopard to ship before we do much more than look,  
> since this extending the Ruby language to better support parallelism  
> is something we need to discuss as a full and complete group before  
> making any moves.  Laurent also has more than enough on his plate  
> just finishing up the LLVM work and we don't need him distracted by  
> any new shiny objects before 0.5 reaches feature parity with 0.4, at  
> the very least. :-)  I would prefer that we focus on figuring out  
> what needs to be done as a prerequisite for bringing the - 
> experimental branch back to trunk before even considering at which  
> of many possible mountains we would like to climb next.

Indeed, there are a few things to do first, including the  
implementation of a threading model. Threads have not been implemented  
yet in the experimental branch (we keep the best for last :)).

I contemplated implementing the Thread class on top of GCD a while  
ago, but the semantics of GCD and the Thread APIs don't always match  
(and it would make MacRuby SL-only). So, it's better I think to have  
real posix threads first, then an API to talk to GCD later. I already  
started thinking about integrating GCD differently, after some  
brainstorming with a few persons. I will eventually hack something but  
unfortunately this won't be public until SL ships.

Laurent


More information about the MacRuby-devel mailing list