Most Haskell tutorials on the web seem to take a language-reference-manual approach to teaching. They show you the syntax of the language, a few language constructs, and then have you construct a few simple functions at the interactive prompt. The "hard stuff" of how to write a functioning, useful program is left to the end, or sometimes omitted entirely.
This tutorial takes a different tack. You'll start off with command-line arguments and parsing, and progress to writing a fully-functional Scheme interpreter that implements a good-sized subset of R5RS Scheme. Along the way, you'll learn Haskell's I/O, mutable state, dynamic typing, error handling, and parsing features. By the time you finish, you should be fairly fluent in both Haskell and Scheme.
This is the Wikibooks version of a tutorial originally written by Jonathan Tang.
I kept ignoring this book for a long time. Way too long, I wish I had read it earlier.
Every chapter of the book teaches us something practical. The book is very well structured, with each chapter building on top of the previous one.
We start by building a small parser with no complex setup instructions to follow, or any distractions a typical book on a technical topic can serve. We quickly transition to the topic of evaluation, and we keep improving the project in small increments to make it more and more functional. We work through these problems in order to build a complete language runtime with an interactive REPL. Lastly, the final chapters give us an idea of what a good standard library may look like.
What I liked most about the book was the fact that almost every chapter ended with the author of the book compiling the program and interacting with it, no matter how mature the project was at that stage.
It might not be a well suited book for Haskell novices, but it doesn't require advanced Haskell knowledge either. People with a bit of practical experience with the language should be able to follow the chapters without bigger issues. Still, I would recommend it to everyone.
Nevertheless, a great introduction to playing around with haskell. Especially if you're interested in lisps as well. The one bummer is that the freeform exercises dropped off after the first few chapters. I would have much rather had explicit exercises well through the end of hte book.
Pretty good. Doing everything in IO is a little unnecessary, I ended up cleaning up a lot of what's in the book myself as I went along. But, it's a great intro to interpreting and evaluating a real PL. Thoroughly enjoyed it.
A pretty harsh introduction to Haskell. Certainly takes a lot longer than 48 hours to complete. Doesn't do as much teaching as it should either. Needs updating. Otherwise, not the worst choice for people who want to build something instead of stale tutorials with no exercises (i.e. Learn You a Haskell for Great Good!)