
Learn You A Haskell For Great Good -- the book -- coming soon - dons
http://nostarch.com/lyah.htm
======
jrockway
_Miran Lipovača is a computer science student in Ljubljana, Slovenia. His
online tutorial, "Learn You a Haskell for Great Good!," is widely regarded as
the best way to learn Haskell._

Seriously? LYAH is nice, but the examples are so contrived that I'd be
surprised that anyone who learns Haskell from this book will be able to write
any idiomatic Haskell code or even understand Haskell besides "hey, that's
neat".

I haven't read the whole book, though, just the stuff on the web.

In my unbiased opinion, the best way to learn Haskell is to read RWH, read all
the code that you use (just click the "source" link next to the function when
you're reading the docs), and then say something like "monads are like
burritos" on HN and wait for my comment :)

~~~
giu
Started to read through RWH (paperback, not the online version [1]), than read
some chapters in LYAH, and now I'm reading Hutton's "Programming in Haskell."
The latter, while a slick book (~ 170pages) is really a nice read, but if I
have to recommend a book on Haskell, RWH is the one I'll mention for sure;
you'll learn a lot about functional programming at large, the book includes a
lot of code examples, and it's (mostly) written _beginner-friendly_.

[1] <http://book.realworldhaskell.org/read/>

~~~
jrockway
My favorite part of RWH is how it explains monads. Instead of introducing it
as "here's a complex thing with some use cases that you won't understand", it
just starts using monad-like structures, but doesn't call them monads. Then
you get to the monad chapter, and it says, "oh hey, you know all that code you
wrote in the other seven chapters? yeah. monads."

Net result? I doubt that anyone who read RWH from the beginning and followed
the examples has any trouble with monads. It's things like that that make RWH
not just a good Haskell book, but a good programming book.

~~~
giu
Yep, definitely. Generally speaking, the book has a very good structure;
everything has its place, and the book makes a very good job in guiding you
from the very basics to the more complicated constructs. Moreover, all the
constructs are explained very well thanks to the fact that they use quite a
lot of code examples to back up explanations in the book, which help you
understand everything much better.

What I personally (as a novice) have to mention is, that RWH surely is a very
good book, but nonetheless you'll start reading some paragraphs or chapters
over and over again, especially if you come from the imperative programming
branch. Haskell is definitely not _easy_ for a beginner, so prepare yourself
to put quite a lot of effort in learning the language and functional
programming in general, it's definitely worth it! :)

