Now for the main feature: if I had to do it all over again, here's what I would do to learn Haskell from scratch:
- Start by reading Learn You A Haskell. All the way through.
- Really get into some code with Write Yourself a Scheme.
- Read Read World Haskell from the very beginning, and don't skim through the earlier chapters; they have a different and useful way of presenting the basics. Yet I wouldn't start here; I learn best when I see a topic from a couple of different directions. I have the dead tree version of the book but there's a free PDF available here.
- Read Monad tutorials early in the learning process. I wouldn't recommend it before reaching the monad chapter in Real World Haskell. First of all, the monad sections in Learn You A Haskell and Real World Haskell are quite good. Second, monad tutorials are more effective if they are immediately reinforced by some coding exercises. I think the best path to understanding monads is by using the damn things.
- Read any type theory content until . . . well, past where I am now. I have read some of this stuff and have yet to see any useful connection to actual Haskell code. I'm sure I'll get there eventually, but I'm not there yet.
- Do not start Haskell School of Expression unless you first find the source code and get it running.
There's also intro books by Hutton and Thompson that are good, and I'm looking at Bird's Pearls of Func. Algor. Design on Goog books
ReplyDeleteGene -- I've heard good things about both the Hutton and Thompson books but haven't looked into them in detail. I was unaware that Bird's book is available on Google. That's good news, as it comes highly recommended.
ReplyDelete