*Real World Haskell. C*urrently I'm a little more than halfway through the book, and still liking it quite a lot. I'm currently halfway through the "Programming With Monads" chapter. I'm feeling that this chapter is a little dense with text and that more incremental baby-steps exercises would do it some good. Certainly they would do me some good. So I'm stopping where I am until I have time to sit down and write some more monadic code. I imagine it will take a few repetitions until I'm comfortable with it, but that seems like a fundamental skill if you want to write Haskell.

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.

**what I would not do:**

- 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*.

**might**do: read

*The Haskell Road to Maths, Logic, and Programming.*That book is rather less a book about programming Haskell and more a book about the foundations of mathematics. If that sounds interesting, then the exercises in the book are a nice way to get some coding practice as you are coming up to speed in Haskell.