Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data Expr = Constant Int | Plus Expr Expr | Div Expr Expr
- safeEval :: Expr -> Maybe Int
- safeEval (Constant i) = Just i
- safeEval (Div a Nothing) = Nothing
- safeEval (Div a b) = safeEval (Div (safeEval a) (safeEval b))
- safeEval (Plus (Just a) (Just b)) = Just (a + b)
- safeEval (Plus a b) = safeEval (Plus (safeEval a) + (safeEval b))
Add Comment
Please, Sign In to add comment