[Haskell-beginners] appropriateness of haskell for GUIs

Thomas Davie tom.davie at gmail.com
Sat Mar 21 06:06:36 EDT 2009


On 21 Mar 2009, at 00:16, 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.

The rough situation of GUI programming on Haskell is that it works  
just as well as in any imperative programming language.  This is  
rather disappointing, simply because so many other things are  
massively easier in Haskell, and this isn't true of GUI programming  
(yet).

There are various efforts to write more functional GUI environments  
(Grapefruit, reactive, yampa, etc), but none are yet {stable | mature  
| scalable | some other reason} enough to use in production.

Bob


More information about the Beginners mailing list