|
On 2/9/2011 11:36 AM, Enrico Tassi wrote:
Using g-object introspection seems a good strategy. Did you know that there are at least other two attemtps to use it for Lua? Googling around I found: http://oproj.tuxfamily.org/wiki/doku.php?id=lgob http://furi-ku.org/+/cgit/code/luigi/tree/ I would be awesom to have a comparison of these, and why not, maybe a shared effort!? (yes, I dislike having 3 bindings for the same lib, all incomplete).
Yes, I'm fully aware of both of them. I initially started working with lgob, but it does not have Gio support which I needed. I tried to write Gio support, but started disliking the way the lgob is made (it is using gobject-introspection, but in a static fashion - parses XML .gir files and generates C glue code which is then compiled by GCC into Lua module). I realized that dynamic approach would be better - uses binary .typelib files at runtime to lookup function and type info and calls function using libffi. At the beginning it looked simple enough (but it wasn't :-)
At the moment I created public tree on gitorious, I realized there is also new LuiGI project, essentially doing the same thing as lgi. I contacted Adrian (its author) and we came to conclusion that it might be better to continue with lgi, because it already had more features implemented than luigi at that time (most notably callback support, which is rather tricky).
Pavel