I recommend qtHaskell.<br>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&#39;d even say the C++ version is good choice for beginners (certainly easier to understand/use than say GTK).<br>
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. <br>Being already familiar with C++ Qt, using qtHaskell was a snap. However, if you&#39;re unfamiliar with both Qt and Haskell it will probably be confusing at first. Though I&#39;d bet money the GTK bindings aren&#39;t any better in that regard. <br>
I&#39;d still say you&#39;d be more productive with qtHaskell in the long run.<br><br>- Job<br><br><br><div class="gmail_quote">On Sat, Aug 29, 2009 at 11:03 AM, Michael Mossey <span dir="ltr">&lt;<a href="mailto:mpm@alumni.caltech.edu">mpm@alumni.caltech.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I want to choose a GUI library for my project. Some background: I&#39;m a beginner to functional programming and have been working through Haskell books for a few months now. I&#39;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.<br>

<br>
Regarding a choice of GUI library, I want these factors:<br>
<br>
- 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.<br>
<br>
- This is a Windows application.<br>
<br>
- it needs to be non-confusing for an intermediate-beginner Haskeller. Hopefully good documentation and examples will exist on the web.<br>
<br>
- 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&#39;m wondering if qtHaskell fits my criteria &quot;well-documented&quot; and &quot;lots of examples aimed at beginners&quot;.<br>

<br>
Thanks,<br>
Mike<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br>