This book takes a nice approach to teaching functional programming. Paul Hudak uses fun examples, with applications to multimedia. Early on you are using the graphics library to make shapes in windows, and by the end there is Haskore, a cool way to compose music. However, these examples are not JUST fun, they also serve as nice examples of how to think about and construct functional programs, in domains where functional programs really excel. If you ever thought about learning what this stuff was about, this book is the right choice!