I'm assuming you didn't build GHC from source, right? The Haskell Platform is the way to go these days, and it's usually dead simple to compile. Just need an easier way besides erroring out to let one know one needs a certain library.
Pure functional programming is pretty bizarre for a while, and certainly takes some effort to learn coming from OOP and imperative programming. However, the experience will Haskell will serve you very well in languages you already use. After you learn Haskell, you'll understand the benefits of functional programming, and ways to use it properly, and then you'll be able to take advantage of functional features in otherwise non-purely-but-still-functional languages like Scala, Clojure, C# (I hear it gets more functional all the time), and even marginally Python.
How is that for motivation? :p
My intention with this challenge and the Clojure challenge I hope is used in the future is to try to get you guys to see the beauty in functional programming, instead of viewing it as some bizarre paradigm that is completely useless in anything except academia.
One thing I will mention here that I didn't mention in the challenge is that the phrase "Haskell is purely functional" is very important. Purely functional, and just functional are different things. The reason Haskell is so difficult is at first is because you guys are all used to mutable state and mutations, and purely functional languages don't straight-up allow such things (though you can use IORefs and various other things to simulate mutable state). Other languages like Clojure for example aren't purely functional. It's a strongly functional language that gives up purity for practicality, but still doesn't directly allow you to mutate mutable state. You have to do so through refs and atoms and other concurrency primitives, but it's still easier to grok than the way Haskell does things.
What I'm trying to say with the very verbose paragraph above this one is this: if you have a bad experience this week, or in the future, with Haskell, don't give up on functional programming because of it. Haskell is pure, and that changes things significantly. If you like what you see, but don't think Haskell can give you what you want (it can, but it takes time and patience to learn how), there are other functional and inpure languages like Clojure and Scala (sorry, I like the JVM) that you could use as well.
Enjoy the rest of the week, and good job on your submissions guys. :)
This post has been edited by Raynes: 11 February 2010 - 10:21 AM