On Mon, Jan 11, 2010 at 4:53 PM, Rick DeNatale <rick.denatale / gmail.com> wrote: >> We are interested in supporting a C API in JRuby, but we will not >> support any API that gives you direct access to pointers or object >> structures. We'll work with Rubinius and MRI folks to come up with >> replacement APIs, but any existing extensions that need unsafe access >> will not work. If it's worthwhile to have C extensions that work with >> many different runtimes/GCs/threading models, these API changes are >> not really negotiable. > > This would be good. > > I'm not sure whether the API ultimately needs to be binary compatible, > or that a macro-based API would be as good. > > If I'm not mistaken the MRI extension API macro implementations > changed between 1.8 and 1.9, certainly some of the 'VM' data > structures did, meaning that extensions needed to be recompiled. For what it's worth, we have nowhere near the resources nor expertise to do a lot of work on the JRuby C API, so we're hoping folks interested in C extensions for JRuby would like to help out. The project is here: http://github.com/wmeissner/jruby-cext And you can poke either me or Wayne Meissner for instructions on how to get it working. I'll personally ship out JRuby or EY t-shirts to anyone that can help us with it :) - Charlie