Very nice! I've never written anything in Haskell beyond configuring Xmonad, so I don't know if this is how it works in the Haskell-world, but presenting it this way (the "Robust"-section in particular) really gives me the feeling that this is a great platform to explore. Libraries are extremely important, and choosing between similar ones leads to anxiety.
I think many languages should take after this. If not distribute libraries with the platform (batteries included), at-least bless some libraries. It'd be so much easier to get started with some languages (cough, Erlang) if authoritative characters in the loop would share their opinions.
It would be nice for this site to give more detailed advice on studying Haskell. Learning a language should be a side effect of studying its canon of programs. Is there a book that relates to Haskell as TAoCP does to machine code, SICP to Scheme, K&R to C, and the dragon book to Lex and Yacc?
Written by three of the most prolific and capable Haskell library developers. It covers everything from introductory functional concepts to high-performance C-style stateful programming.
You can buy a dead tree, or read it online for free.
At the time, the book seemed like a fresh breath of air, since it focused on solving real 'daily work'-style problems in Haskell. I used to recommend it to friends, but most of them were not so happy. The first few chapters are nice, but after that the examples really become contrived. Instead of giving simple standalone examples to explain a concept, the book starts using examples that tend to linger. People get bored or stuck and stop around chapter 6 to 8.
I am hopeful that Learn You a Haskell will serve as a good introduction to Haskell, and will recommend it to anyone interested.
RWH is still a fine book; once you understand Haskell, it's still great to go through the examples and exercises. But it is not a good starting point.
It definitely gets a little tough around the Parser example, but it does lighten up again once you get through the monad transformer section, though.
For someone who's done some functional programming before, Real World Haskell is probably a good starting point; otherwise something like YAHT would probably be better.
just finishing up a grad PL theory course, and RWH was definitely among the reading material. but i did find it anemic in many areas. i'll come back to that in a moment.
the pros of the book is that it offers a good introduction to the language and a reasonably good survey of some of the more advanced language features and tools such as QuickCheck, STM, concurrency/parallelism, etc.
the cons are that it leaves out one very new interesting direction called functional reactive programming, FRP, and i also thought its treatment of monads (esp. monad transformers) to be a bit thin. most of the time i just found myself going to publications on the more advanced topics than using a book such as RWH (or learnyouahaskell, which i actually quite like).
here are a few links i came across in the course that i think are worth sharing (in no particular order):
I'm working through that book right now, and it's fantastic. I'd used haskell before in class, but I definitely suffered from the "fibonacci gap." Now, I'm starting to do small scripts in haskell, and hopefully I'll be able to tackle a decently-sized project soon. I can't recommend this book highly enough if you're curious about haskell.
A very enjoyable tutorial. Supposedly, this site was going to come out in book form. If/when it does, it should become the de-facto "Camel book" for Haskell.
If you're new, you might like something easy like the "gentle introduction to haskell" http://www.haskell.org/tutorial/. Unfortunately it does not cover more recent and advanced features; for that I would recommend Oleg Kiselyov's site http://okmij.org/ftp/Haskell/ (he is somewhat famous in the community for bringing advanced Haskell features "down to earth" with clear, simple examples).
You should definitely check it out. If you already know Haskell and you love algorithms, that book will probably be more interesting than the Intro to Haskell book.
However, I prefer Bird/Wadler better because there's a pervasive "let's derive this"/"let's prove this" approach to the topics. By which I mean, given a spec, let's derive a program that does the task (and later, let's optimize this function using laws we know such as relations between map and filter, the laws of fold). Hutton takes this type of approach only in his final chapter.
Hutton is definitely easier, and does a better job of teaching you the core of Haskell, however Bird/Wadler teaches you how to derive programs from spec (further covered in Bird's Pearls of Functional Programming book).
I think the difference is like the one between How to Design Programs and Structure and Interpretation of Computer Programs.
Shameless plug here, but if you're interested in installing the platform but don't want it clogging up your dev environment I've created a snap project skeleton that will do it for you with Vagrant and Chef.
Snap is the only extra install and you can quite easily alter the haskell platform version in the Vagrantfile. I'll be updating this tonight when I get home if you don't mind waiting.
You'll need to wait for your distro maintainer to update the package set. Alternatively, you can build from source, using a generic Linux ghc, like so:
Would be nice for the Haskell Platform to adopt a de facto IDE (e.g., Leksah) that was compatible across the major OS platforms and distribute it along with the other developer tools.
When I download a compiler and the core libraries for a language, I don't want to have to download an IDE with it—Haskell Platform downloads are generally slow enough already, without adding something that really shouldn't be considered part of the core functionality of a language.
I love Haskell, it's incredibly powerful, fast and elegant. However, I switched to Erlang because it's a heck of a lot easier to learn and it's quicker to sit down with it and produce something tangible. While I struggled to learn the concepts of Haskell, I immediately "clicked" with Erlang. I still wish to look up Haskell again though, it's very intriguing.
I'm an ubuntu/xmonad user. I also do some occasional haskell coding. I've been using the packaged versions of xmonad and the haskell platform thus far.
Are people building from source? Waiting for Natty? Using a ppa?
For most of my Haskell work, I just use the standard GHC package, with libraries installed in clean environments using ``cabal-dev``. Compatibility with Ubuntu-packaged libraries, such as xmonad or mtl, is too important to trade away for a new GHC.
For testing against GHC 7, I built from source and installed to ~/.opt/ghc_7.0.1 -- over the next few days I'll probably grab 7.0.2 and install in the same way. This is only for testing -- I don't built software against it, generally.
Building GHC from source is actually very easy -- just install the development packages, then ./configure && make . There's instructions in the GHC tarball.
I think many languages should take after this. If not distribute libraries with the platform (batteries included), at-least bless some libraries. It'd be so much easier to get started with some languages (cough, Erlang) if authoritative characters in the loop would share their opinions.