haskell functional programming labs