
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