[Haskell-beginners] appropriateness of haskell for GUIs

Andy Elvey andy.elvey at paradise.net.nz
Sat Mar 21 02:58:03 EDT 2009

Michael P Mossey wrote:
> Hello, I'm totally new to Haskell. I'm thinking of using it for a 
> personal project, which is a gui-based musical score editor. (*) Why 
> Haskell? I've always been interested in proving my software's 
> correctness, usually in practical and informal sense. In other words, 
> I would like to reduce bugs by having a really good understanding of 
> what my software does. I also just want to learn Haskell.
> Before I invest a lot of time in learning Haskell, however, I want to 
> understand if it's the right language for doing a gui-based musical 
> score editor. First of all, I need a gui toolkit of some sort, and I 
> notice that bindings to Qt exist. I'm already very familiar with Qt, 
> so that's good. I also need to access the Windows midi api, and I see 
> there is a module called hmidi.
> However, a gui program is essentially event driven and heavily 
> interacts with the outside world. I don't know how compatible these 
> ideas are with Haskell.
> If I don't use Haskell, I will probably use Python, which I already 
> know well. So basically the question is: Haskell or Python? Note: I 
> would enjoy learning Haskell, so this is not a question of which 
> language is better in an absolute sense... if Haskell is suitable, but 
> not the best choice, I will still probably use it.
> Thanks,
> Mike
> (*) For those who ask why I'm doing my own music score editor when 
> many already exist, it's because it needs to be integrated with my own 
> computer-assisted composition system. As an editor, it will be 
> primitive: that's not its main purpose.
> _______________________________________________
Hi Michael - 
I'm also new to Haskell.  Although I can't really give a definitive 
answer as to whether Haskell is appropriate for GUIs, I can mention 
several GUI libraries that exist for Haskell.  They are wxHaskell, 
Gtk2Hs and qtHaskell. 
The following page mentions those and a number of others -

Note - that page says that "there is no standard (GUI lib) and all are 
more or less incomplete."  Don't be too put off by that - from what I've 
seen, although I haven't used them myself, both wxHaskell and Gtk2HS now 
seem to be quite complete.  I can't really comment on qtHaskell as I 
haven't seen that in action. 

- Hope this helps....
- Andy

More information about the Beginners mailing list