Learn you a Haskell for Great Good is an excellent guide to the Haskell programming language for experienced programmers who have had little exposure the functional programming languages. Most of the important ideas in functional programming are introduced in an easy to understandway and the book is written in a witty style that makes reading it enjoyable.
Functional programming can be difficult for programmers used to imperative-style languages, like Java and C/C++. This book does an excellent job of introducing these concepts in a way that makes them much easier to understand. For example, monads are traditionally something that is thought of as being very difficult to grasp. After reading this book, however, I now feel I have a solid grasp on the idea of monads. The Haskell type system, another topic that is viewed as being difficult to learn for people with experience with imperative programming languages. Learn You a Haskell introduces the ideas behind the type system in a way that makes it very easy to understand. Finally, the witty style and fun illustrations make the book a very enjoyable read.
I read through the on-line version of Learn you a Haskell (http://learnyouahaskell.com/) before this was released. The print version has been cleaned up and extended and I fully recommend it to anyone who is curious about functional programming and Haskell.