"S. Alexander Jacobson" <alex@shop.com> wrote,
If the GUI is based on the IO monad, then it doesn't seem like there is a lot of advantage to doing it in Haskell. It seems like a better idea to use a more natural language for IO and make RPC/interproc calls to a haskell server to get stuff done.
I completely disagree - with SimonPJ's words (I think from the "Awkward Squad" paper), ``Haskell is the world's finest imperative programming language.'' Side effects are one thing, but having Haskell type system and support for higher-order functions available makes imperative programming so much nice. For example, proper support for closures makes the whole signal handling code needed for GTK+-based GUIs much nicer in Haskell than in C. And this is not just idle theory. Most of the code in Gtk+HS lives in the IO monad and and it's a considerable amount of code. I came to the stated opinion after having written that. Cheers, Manuel