Dechenjm / crack-language

Automatically exported from code.google.com/p/crack-language
Other
0 stars 0 forks source link

Cling/Reflexive binding usage #113

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I hope that this isn't in the wrong place, however I don't really know where 
else to put it. Recently I have seen bindings for pypy, a Python interpreter, 
generated using a module/program called reflexive. I was wondering if it was 
possible to use the same techniques to generate bindings for crack. The current 
extension API is well thought out, however I was wondering if this might be an 
improvement or shortcut.

Links
http://root.cern.ch/drupal/content/reflex 
http://pypy.readthedocs.org/en/latest/cppyy.html 

Original issue reported on code.google.com by Clay.Swe...@gmail.com on 9 Sep 2012 at 11:52

GoogleCodeExporter commented 9 years ago
Yes, this is the right place.  

So from a one-minute look at reflexive, it looks like this can be used to 
automatically generate bindings for C++ code.  Our current procedure for 
creating extensions involves defining the interface using the extension 
generator annotations (see crack.extgen) which is, IMO, pretty painless but 
still a bit of work - automatically generating them from C++ code might be 
better if we can get the glueware to mesh nicely with Crack's extension 
mechanisms.

I guess my main question is: are you interested in implementing this?  If so, 
I'll leave the bug open and assign it to you.  Otherwise (unless somebody else 
wants to take it) I think we're unlikely to get to this in the foreseeable 
future because we do have another (albeit inferior) solution.

Original comment by mind...@gmail.com on 10 Sep 2012 at 1:31

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I would be quite interested in trying to implement this, though I'm not sure 
I'm qualified for the task...
Is there any documentation or information on how the extension api/underlying 
mechanisms work? I don't have much experience with this area of development 
beyond the theoretical, so it would help to have something to work from.

Looking deeper into reflex, it appears that what it does is generate a simple 
binding which allows access to reflection information, such as available 
classes, etc, through a c++ binding in the form of an include file. I have yet 
to find out where exactly the information is stored, as the group which 
develops reflex is currently refactoring code and documentation.

Original comment by Clay.Swe...@gmail.com on 12 Sep 2012 at 3:16