An evaluator for a simple expression language in Haskell