Speeding Through Haskell
Welcome to Speeding Through Haskell, home of the newest Haskell programming book. It's so new, it's not even finished yet!
Haskell is an awesome programming language. It's a lot more mathematically rigorous than others, which means that programs can be proven to be correct and in most cases, if they compile, they will run just fine too. This involves new challenges, however. For instance, you can't change even a single "variable". Everything is done via recursion and other tricks. Don't worry, it'll seem very natural once you try it out.
You can take a look, but keep in mind that it's a work in progress. Some things may be inaccurate; many will be incomplete. Things marked [fixme] are broken; [xref] tags indicate missing cross-references. I'm aiming for about 15-20 chapters for the finished book --- it's going to take a while.
Meanwhile, you might want to shoot an email to questions at sthaskell dot com for corrections (if something's even slightly wrong), suggestions (if something's missing or poorly explained) or just to say hello. However, the #haskell freenode channel is a better place for general Haskell questions. There are many awesome people over there happy to answer yours (I go by the name brisingr).
If you want the book, you can download it (alt link). It's the same version as the one below, but the footnotes, cross-references and the table of contents are clickable (depending on your PDF viewer). Don't forget to check back often for updates!