notes on haskell 1