[MacRuby-devel] branches/experimental

Laurent Sansonetti lsansonetti at apple.com
Sun Mar 29 11:29:33 PDT 2009


So, I think there are 2 things to do in order to achieve that goal:

1) making MacRuby an OSA component, so that it's recognized by the  
system (osalang, Script Edit, etc.). I have no idea on how to  
implement this. If you're willing to check it out, the documentation  
is there:

   http://developer.apple.com/DOCUMENTATION/Carbon/Reference/Open_Scripti_Architecture/Reference/reference.html

I unfortunately think that nobody made an open-source OSA component  
yet. In fact, AFAIK the only other OSA component is a JavaScript  
implementation which is not maintained anymore (and closed-source).

2) bundling an API to send AppleEvents. This part is not hard, since  
we do have RubyOSA, rb-appscript or ScriptingBridge.framework to  
reuse. I guess we would have to do some design conversation first and  
see which model we would pick, it's even possible to reuse existing  
code.

Let me know if you want to investigate that and I will try to help :-)

Laurent

On Mar 28, 2009, at 1:00 PM, Jordan Breeding wrote:

> Well if you offer guidance and the target for 0.5 really is just  
> "this year" then I might be able to give it a shot and help out.
>
> Of course that also depends on whether I get a job immediately after  
> graduation in August and how busy that keeps me.
>
> On Mar 28, 2009, at 14:56, Laurent Sansonetti  
> <lsansonetti at apple.com> wrote:
>
>> Most likely 0.6, unless someone volunteers to do it now :-)
>>
>> Laurent
>>
>> On Mar 28, 2009, at 12:48 PM, Jordan Breeding wrote:
>>
>>> Will OSA support be a 0.5 or a 0.6 task?
>>>
>>> On Mar 28, 2009, at 14:37, Laurent Sansonetti  
>>> <lsansonetti at apple.com> wrote:
>>>
>>>> Hi guys,
>>>>
>>>> As some of you already noticed we have been working on a branch  
>>>> for a few weeks and I thought it's now time to describe what has  
>>>> been done and were we are going exactly.
>>>>
>>>> I wrote a blog entry here: http://www.macruby.org/blog/2009/03/28/experimental-branch.html
>>>>
>>>> 2 big features in this branch: a LLVM-based JIT compiler and a  
>>>> new IO subsystem. Obviously performance-related, we really need  
>>>> to be faster.
>>>>
>>>> Current status of the branch:
>>>>
>>>> - The compiler is now able to pass most of the Ruby AST. It  
>>>> compiles nodes directly from the parser in a lazy fashion.
>>>> - Only JIT compilation for the moment (AOT is planned for later).
>>>> - The VM is still under development, it's not as complete as the  
>>>> compiler yet.
>>>> - Early performance benchmarks are very promising.
>>>> - By the time of this writing, we pass the vast majority of the  
>>>> language RubySpecs (a week ago we weren't even able to even  
>>>> bootstrap mspec!), about 1190 expectations. Work is very active  
>>>> in this area, we are also making sure the specs do run with the  
>>>> original Ruby 1.9 and writing missing specs.
>>>> - The new IO subsystem is mostly functional, but there are still  
>>>> many methods that are not implemented yet and we are working on  
>>>> this. Once it will be complete we will integrate a default  
>>>> runloop in the VM and expose asynchronous IOs.
>>>>
>>>> For the near future, the goals are:
>>>>
>>>> - Improving the compiler. Currently compile time has not really  
>>>> been optimized yet.
>>>> - Be able to run IRB. We are almost there.
>>>> - Remove the libffi code used to call C/ObjC implementations and  
>>>> instead JIT compile stubs and insert them in the dispatcher  
>>>> cache. We should be way closer to ObjC then (and maybe faster  
>>>> once we enable secondary compilations of hotspots and inline the  
>>>> stubs).
>>>> - Rewrite the BridgeSupport side using LLVM types.
>>>> - Implement full concurrent threading! (this is a big one :-)).
>>>> - And many more (check the TODO file for more info).
>>>>
>>>> Once we arrive at a point when the branch is as functional as  
>>>> trunk, it will be merged in trunk and we will then work on  
>>>> stabilizing it, to later on release it as 0.5. The schedule for  
>>>> this release is unknown, it will be released when it will be  
>>>> ready (preferably this year though).
>>>>
>>>> If you want to help let me know!
>>>>
>>>> Laurent
>>>> _______________________________________________
>>>> MacRuby-devel mailing list
>>>> MacRuby-devel at lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list