[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