[Haskell-cafe] My experience setting up Haskell up for GUI development

Ben Arnold benedict.arnold at gmail.com
Mon May 19 10:12:46 EDT 2008


Thanks. It's actually quite comforting to know that the problems I run into
are known issues and gives me a lot more confidence in the tools.

As I said I really like Haskell it's a pleasure to program in it and I do
appreciate the work that people have put in to make it possible for me to do
so!
On Mon, May 19, 2008 at 2:15 PM, Jeremy O'Donoghue <
jeremy.odonoghue at gmail.com> wrote:

> Ben Arnold wrote:
>
>> WxHaskell was a little trickier but more successful. There didn't appear
>> to be any installation instructions on the website, but it did imply that I
>> needed to install wxWidgets first. I did that, and made sure the paths
>> didn't have spaces in them (yawn). And after restarting the PC eventually I
>> got a working Hello World dialogue box.
>>
>> Which is nice, except that when I call "main" twice in succession from
>> GHCi, ghc.exe crashes. So I have no confidence in the wxHaskell libraries
>> either. I don't want to invest time in programming with libraries that
>> perform illegal operations on my operating system.
>>
> This is a known wxHaskell problem, and is a consequence of changes in the
> underlying design of wxWidgets since wxHaskell was designed.
>
> The basic problem is that wxWidgets, since around wxWidgets 2.5, uses C++
> static constructors and destructors to initialize and destroy some internal
> data structures. Unfortunately, on Windows, the only way to make these run
> is to unload the wxWidgets DLL when main terminates, and this is something
> we do not currently do (I'm working on it, but it is not trivial, and I have
> little time to work on the problem, so progress is slower than I would
> like).
>
> If this functionality is essential to you, I can only suggest using
> wxHaskell 0.9.4 with wxWidgets 2.4.2. This older version of wxWidgets does
> not use static constructors/destructors, and can be used to execute main
> more than once. This older revision is three years old now, and will require
> you to use GHC 6.4.
>
> In terms of an 'expert' reference - wxHaskell or GtkHs are the only
> reasonably maintained GUI options for Haskell. GtkHs has a larger team of
> contributors, but both are capable of producing complex and stable GUI
> applications - I can certainly vouch for wxHaskell in this respect (and in
> respect of speed of development), and the reason I work on it is precisely
> because I didn't want to see such a superb piece of software rot through
> lack of attention.
>
> However, both projects rely on fairly small volunteer teams working on
> their spare time out of love (or something like it...), and I think it's
> fair to say that both teams are some way from matching the ease of
> developing and deploying of, say, C# or Java.
>
> Regards
> Jeremy O'Donoghue
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20080519/68a756f2/attachment.htm


More information about the Haskell-Cafe mailing list