Bird and Wadler got me started on functional programming. Before that, I'd only seen discussions of C++/STL functors and functions like for, map etcetera.
B&W was dense, and magic. It reminded me of the first time I read the K&R C book, you're following along fine, and all of a sudden you're off the deep end!
The syntax, sort of ML-like adds to the 'magic' feel of it all. Overall I think it's a good book. But like with K&R, make this your second or third book, to ground you in the fundamentals after you've become somewhat familiar with the syntax and application of a particular fnal language.
That said, it covers a wide breadth of topics, and does justice to them as well. But this opinion comes from a newbie at functional programming, so caveat lector!
For me, it made me realise that there was a whole 'new' way of programming, vastly bigger than the few functions C++ had in its STL, and that C++ syntax mostly got in the way. However, perhaps because of this book, I never quite grokked Haskell/ML syntax either, though LISP I find easy (easier).