dmitry_vk wrote:Qt moc seems to actually be a great help in the task of writing the binding. Because it allows to automatically gather information about classes and it provides general method of invoking methods and properties of objects.
I guess the main reason for absence of a complete Qt binding (and many other large libraries) is the lack of requrement for it. E.g., a single hacker starts the project for its fun, it gets semi-complete and then abandoned because at the time, noone needed it and the hacker's motivation is depleted. On the other, I think that it is possible for one man to create a complete Qt binding in the time of month or two.
For me, Gtk+ looks good, both on windows and linux.But that's just my opinion.
Interesting, I hadn't considered that the Qt MOC would be a help in creating a Lisp binding. With Qt's change in licensing, I imagine that use of the toolkit will increase fairly dramatically so maybe there will be more interest in a complete and supported binding. I'm curious, do you folks know of many Lisp applications with a high quality GUI out there. There's InspireData which uses the Lispworks GUI, but I haven't run across much else.
Gtk+ does look good, it just misses on a few consistency points. The most glaring ones are the standard load/save dialogs. Is it easy to embed an OpenGL viewport in Gtk+? I will go have a closer look at the API.
As for Clojure, it looks good but is probably a no-go in my specific case for performance reasons. Yeah, I know about premature optimization, but there are some things in 3D graphics that just -have- to be fast (vector and matrix math, iterating over image data, etc). My understanding is that Common Lisp will let me put in type declarations, turn off safety, and so on in order to optimize specific sections of code. Being able program at a high level in general but retain the ability to really tune specific code paths would be a huge benefit to us.