Interrogate for binding other languages?

I’ve seen Interrogate brought up a few times in recent posts, and it intrigues me.

Does it generate the C or C++ interfaces for Python.

I’m curious because I’m been playing around with Go lately, and have really enjoyed writing programs in it. They have a nice tool for calling C code (cgo) from Gocode, and I would assume since the C++ portion is playing nicely with Python’s garbage collection that it would fit nicely with GO’s as well.

Now, I have yet to ever reach a point where Python has been a bottleneck in my Panda code, so speed isn’t really the point (Panda takes care of all of that nicely), but it’s an intriguing concept nonetheless. And as I’ve said GO is a really nice language to write in that seems to contain a lot of the features I love from Python in a more structured (Statically Typed) form.

interrogate generates Python interfaces to call into Panda’s C++ code. Currently, you could not use the output of interrogate in any other language, unless it can call Python API functions directly.

It is theoretically possible to extend interrogate to generate output for a different language. At one point, we did have interrogate generating C-style wrapper functions for all of Panda’s C++ code, and that code is still there but probably suffers from code rot over the intervening years. If it is resurrected, these wrapper functions could be called by a language that supports making calls into C. It would be a bit clumsy, but perhaps you could build some structure in this other language that would hide that clumsiness.

No one has pursued this yet.

David