You may enjoy this interesting blog
post by Bartosz Milewski about understanding C++ template metaprogramming by
starting with Haskell.
http://bartoszmilewski.wordpress.com/2009/10/21/what-does-haskell-have-to-do-with-c/
Bartosz gave the talk
at the Northwest C++ users group; the
video for the talk will be linked eventually on the NWCPP website: http://nwcpp.org/
Simon