I recommend qtHaskell.
I am a big fan of Qt in general. It has good documentation and extensive examples, is very well designed, and has a good license. I'd even say the C++ version is good choice for beginners (certainly easier to understand/use than say GTK).
The qtHaskell bindings are also pretty good. The documentation and examples are not as extensive, but you can usually use the C++ documentation to fill in the gaps.
Being already familiar with C++ Qt, using qtHaskell was a snap. However, if you're unfamiliar with both Qt and Haskell it will probably be confusing at first. Though I'd bet money the GTK bindings aren't any better in that regard.
I'd still say you'd be more productive with qtHaskell in the long run.
- Job
I want to choose a GUI library for my project. Some background: I'm a beginner to functional programming and have been working through Haskell books for a few months now. I'm not just learning Haskell for s**ts and giggles; my purpose is to write music-composition-related code; in particular, I want to write a graphical musical score editor. (Why write my own editor, you may ask? Because I want to fully integrate it with computer-assisted-composition algorithms that I plan to write, also in Haskell.) I decided to use Haskell for its great features as a functional programming language.
Regarding a choice of GUI library, I want these factors:
- it needs to provide at a minimum a drawing surface, a place I can draw lines and insert characters, in addition to all the standard widgets and layout capabilities we have to come to expect from a GUI library.
- This is a Windows application.
- it needs to be non-confusing for an intermediate-beginner Haskeller. Hopefully good documentation and examples will exist on the web.
- It might be nice to have advanced graphics capability such as Qt provides, things like antialiasied shapes, and a canvas with efficient refresh (refereshes only the area that was exposed, and if your canvas items are only primitives, it can do refreshes from within C++ (no need to touch your Haskell code at all). However I'm wondering if qtHaskell fits my criteria "well-documented" and "lots of examples aimed at beginners".
Thanks,
Mike
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe