What can I say besides: Learn You a Haskell for Greater Good!
the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming.
The whole thing is completely free to read online, but it's also available in print...