I think this is a good idea to first learn the basic functional concepts using Scheme and the SICP videos (heard a lot of good things about the videos and the book). I'm learning Haskell (I'm a C# guy) and some things are a bit difficult to understand if you have an object oriented background. I think I'll have a look at the SICP videos, too