haskell history