[MacRuby-devel] Contributions (Was: Experimental branch status)

Laurent Sansonetti lsansonetti at apple.com
Sun May 31 12:55:26 PDT 2009


Very good question... We currently need to access readline (for IRB),  
so porting the readline extension to FFI will be very useful.

Other extensions part of the Ruby distribution that might be  
interesting to port: openssl, syslog, zlib.

Other than that, I guess that once we start to be able to run larger  
applications/libraries (like Rails for example) we might need to  
access more native code, but this is more a future thing. I'm not a  
Rails expert but I guess we will need access to sqlite3, mysql, etc.  
which are surely wrapped into C extensions for now. Porting these to  
FFI might help too.

Maybe I'm missing more extensions too. Don't hesitate to correct me.

Laurent

On May 30, 2009, at 1:54 PM, Martin Hess wrote:

> Is there a list of which C extensions need to be moved FFI?
>
> On May 29, 2009, at 3:31 PM, Laurent Sansonetti wrote:
>
>> So, to recap, I think the following contributions will be welcome:
>>
>> - Maintaining the website (blog, content, etc.) and writing  
>> tutorials. There are lots of very interesting blog posts around  
>> that could I think be transformed into a tutorial or into a recipe  
>> (shorter tutorial). I think we need more recipes, for instance how  
>> to embed MacRuby in your app, how to use a specific and complex  
>> Cocoa class (NSOutlineView/NSTableView/etc.) in Ruby, etc.
>>
>> - Writing / translating sample code for MacRuby. We will bundle it  
>> in the MacRuby distribution. If you wrote anything interesting in  
>> MacRuby that could be used as a sample code, let us now. Creating  
>> new sample code is cool, but porting an existing Objective-C sample  
>> code is good too.
>>
>> - Specs: working on the 1.8 -> 1.9 rubyspec transition (see Eloy's  
>> message above). Eloy is currently doing all the specs maintenance  
>> as well and I think he will not be against help :) Also, we  
>> recently started writing MacRuby-specific specs, they need to be  
>> extended. Finally, we need to start working on passing the core  
>> specs (we only did language so far).
>>
>> - Porting C extensions to the Ruby FFI API. We started working on a  
>> compatible Ruby FFI API, we still have a plan to support C  
>> extensions but not in the very near future and the performance will  
>> not be great, FFI will be faster. Also if most of the well-known C  
>> extensions have been ported, we might simply decide to not support  
>> C extensions, which is one less thing to do. Also, working on Ruby  
>> FFI-compatible libraries will make JRuby / Rubinius / etc. users  
>> happy :)
>>
>> - HotCocoa: I will leave this part to Rich and Matt, but I think  
>> they will be mostly interested in mappings. Try to create a  
>> HotCocoa app, then contribute mappings for things that do not exist  
>> (or improve the existing ones by contributing custom methods, etc.).
>>
>> - Core: there are lots of things to do, if you feel hacking on the  
>> low-level bits. We maintain a TODO file which contains a few things  
>> that still need to be done. At this point, the JIT compiler is  
>> almost finished (AOT is maybe finished at 10%, though) and the VM  
>> is still under development. A good way to start hacking is to run  
>> the test_vm.rb test suite, pick a failing test and try to fix it.  
>> Contributing new failing tests is also highly welcome, you can  
>> simply use the miniruby executable and try to make it crash (it's  
>> not hard, you will see).
>>
>> - ... anything more? :)
>>
>> Laurent
>>
>> On May 29, 2009, at 6:57 AM, Eloy Duran wrote:
>>
>>> I haven't actively spoken about this with Laurent over the last  
>>> week, but afaik not much changed since last time, which means that  
>>> the support is not nearly far enough to start using it. We decided  
>>> that we want the FFI specs in the repo in order to finish this  
>>> work appropriately, which would need work to be converted from  
>>> RSpec to MSpec.
>>>
>>> Luckily Brian Ford (from the rubyspec project) was already  
>>> planning on incorporating them. I haven't had time to check if  
>>> they're in yet. So this is another area where people could help  
>>> out. By porting the ruby-ffi specs to mspec and integrating them  
>>> into the rubyspec.
>>>
>>> Cheers,
>>> Eloy
>>>
>>> On May 29, 2009, at 1:28 PM, Chuck Remes wrote:
>>>
>>>> How is progress on support FFI? That seems to be the new ruby-way  
>>>> for interfacing to native code supported by JRuby, Rubinius and  
>>>> to some extent the 1.9.x codeline. With FFI built in, as gems are  
>>>> updated to support the other ruby interpreters and/or compilers  
>>>> then MacRuby would be supported for "free" through those efforts.
>>>>
>>>> cr
>>>>
>>>> On May 28, 2009, at 11:42 PM, Matt Aimonetti wrote:
>>>>
>>>>> The other thing that needs to be done is to port/fix the popular  
>>>>> Ruby gems which don't work on MacRuby yet. Also, writing  
>>>>> wrappers for common obj-c libraries/frameworks would be very  
>>>>> useful.
>>>>>
>>>>> If you are interested in writing tutorials/articles, feel free  
>>>>> to contact me offline so I can show you how to use our blog  
>>>>> engine tool. (I think Rich is planning on releasing a tutorial  
>>>>> on how to do that, but that might not happen right away)
>>>>>
>>>>> - Matt
>>>> _______________________________________________
>>>> 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