Intro to functional programming through Haskell.