I wonder why I never mentioned the übercool Qt bindings for Scheme 48. Well, I advised a student research project that was completed recently. The main problem of this project was to find a method for integrating the GUI events and callbacks that come from Qt with the Scheme 48 I/O event system. After some experiments we have found a quite clean way to do this (I promise to provide some details soon).
So far, it’s possible to install callback functions written in Scheme 48 to Qt widgets and call the methods of a few Qt classes. For the presentation last week we wrote a small paint program (called Paint48) hacked in 290 lines of Scheme code.
Well, there remain some tasks before the Qt bindings can be considered for a release (in whatever sense): Cleaning up the code, and making binding for more Qt classes. Making bindings for about 400 Qt classes is a crucial point. You don’t want to write all these stub functions manually. So, if started to hack a parser and stub generator. The parser is based on the parser of Chicken’s EasyFFI stub generator. So far, I’ve ported easyffi.scm to Scheme 48, threw away tons of extremly distasteful code and added support for the special syntax of Qt header files. Next, I’m going to change the representation of the abstract syntax to something more useful and finally generate stubs.
I enjoy hacking after spending so much time on teaching in the last term.
Technorati Tags: Qt, Scheme, Scheme 48