Hi Matt, Matt Arsenault <arse...@rpi.edu> writes:
> Hi, > > I'm thinking of applying to Google summer of code for Haskell to work on > gtk2hs. I'm thinking of writing a static binding generator based on > gobject-introspection data. Gobject-introspection is the new way to > develop bindings for GNOME. I just found Gobject-introspection at http://live.gnome.org/GObjectIntrospection/ It's a good plan. > > I think it could replace most of the current automatic code generation, > and reduce the amount of work that needs to be done by hand. It would > replace the current ApiGen and associated Perl scripts, and make it > easier to maintain and produce new bindings to various GNOME libraries > which aren't currently bound, like telepathy. Yes, use ApiGen is too tired, even it's generate most code. I spend 10 days just update APIs to 2.18.3, it's need much time if have more changes. The biggest problem, haven't automatic merge tool for new code (ediff is still slow). For old hand code or complicated code that ApiGen can't handle. We still need check line by line, and write by hand, It's really tired for big project like Gtk+. Axel, is it? (my neck is so hurt. ;-) Best solution is, DON'T generate middle code, maintain middle code is painful, we need change middle code after upstream library change. Just generate runtime interface to call and Haddock style documentation for user. > > I've thought of a few issues with doing this, such as introspection not > having an annotation for whether a function causes a callback for > finding safe/unsafe functions, but those where it isn't obvious / > doesn't take a function aren't all that common, but overall I think it > would be better than the current system. Yes, that true. Even ApiGen and c2hs not so smart, but it provide a mechanism protected unsafe code. I don't know much about Gobject-introspection, but i don't like use Haskell like script to call low-level interface. I hope write Gtk+ application with Haskell style, and not use Haskell wirte *C Style* code. EventM is good example. > > I'm also thinking it might be good to skip the c2hs layer in this new > tool, avoiding the issues with gtk2hs having to maintain its own old > c2hs fork vs. the regular version on Hackage. Another problem is, Gobject-introspection support all Gtk+ libraries? It's bad if we need change below C code before binding. Anyway, i support your project! It's a potential way. I will perfect ApiGen if i have spare time, i hope we DON'T need write any middle code someday. Axel, Can you give me a holiday? Joking..... :) -- Andy ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Gtk2hs-devel mailing list Gtk2hs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel