learning haskell notes