An Introduction to Haskell through Example