--- /dev/null
+{-# OPTIONS_GHC -Wall #-}
+
+module Calc where
+
+import ExprT
+import Parser
+
+eval :: ExprT -> Integer
+
+-- exercise 1
+eval (Lit n) = n
+eval (Add e1 e2) = eval e1 + eval e2
+eval (Mul e1 e2) = eval e1 * eval e2
+
+-- exercise 2
+evalStr :: String -> Maybe Integer
+-- evalStr s = case (parseExp Lit Add Mul s) of
+-- Just e -> Just (eval e)
+-- Nothing -> Nothing
+evalStr s = fmap eval (parseExp Lit Add Mul s)