Haskell is great. That's my conclusion after exploring the language over the past week. Being purely functional it's an immense departure from every language I've ever worked with previously. For all my (ongoing) struggles wrapping my mind around functional programming it's been enlightening and, more importantly, fun.
So why Haskell? Quite simply, I'd like to be a better programmer. And many people who I respect greatly opine that really understanding a functional language is a massive step in the right direction. So why Haskell in particular? I was enthralled by this expression of the Fibonacci sequence:
fibs :: [Int] fibs = 0 : 1 : [ a + b | (a, b) <- zip fibs (tail fibs) ]
The strong type system, the list comprehension, the lazy evaluation, the clean syntax: it all just clicked with me. I will be the first to admit that my choice is almost arbitrary, but I figure Haskell is, well, just as functional as any other functional language.
For the curious, I've compiled a list of the resources I've been using while playing with Haskell:
I'm still very, very much a beginner so I'm not really equipped to evaluate the list. Yet. Hopefully later, once I have a firmer grasp of Haskell, I can revisit this list and add some commentary. For now, though, I'll mention that I've found YAHT the most useful during my initial forays into the land of functional programming.
What do you think of Haskell? Of my list?
Richard L 29 May 08
I, too, have started experimenting with Haskell. I started with the Wikibook, but it's in terrible shape so I don't recommend it.
I read Paul Hudak's Haskell School of Expression (available in DC library), and feel that increased my understanding of the language quite a bit.
If you're interested in learning what's under the hood, try the book at http://research.microsoft.com/~simonpj/papers/slpj-book-1987/index.htm.
It's about Miranda, but I think it's mostly transferrable to Haskell. Very useful if you're wondering what this whole "lambda calculus" thing is about.