A great intro to functional programming. The overall organization is good, and I liked the level of detail for an introductory book. Marick does a good job of systematically introducing functional principles through theory, well-constructed examples, and exercises. The book uses Clojure for most of its examples, and although it is a bit frustrating when you're reading along about a concept and then hit something along the lines of "hold on, now I have to teach you some new Clojure syntax," it probably works better than trying to front-load all of the language constructs would have. Marick is also enthusiastic and convincing about the merits of functional programming without being all fanboy about it.
In one other note, Chapter 7, which deals with the "flow" of functional-style programs, seemed to be the most important chapter, to me. Consequently, perhaps, it was also the most difficult for me. Interestingly, I made some significant mental progress when I read the chapter backward. I think I (unsurprisingly) just need more time with functional programming to feel comfortable thinking the right way.