A better calculator in Haskell