Guest User

Untitled

a guest
Aug 7th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. data Expr = Constant Int | Plus Expr Expr | Div Expr Expr
  2.  
  3. safeEval :: Expr -> Maybe Int
  4. safeEval (Constant i) = Just i
  5. safeEval (Div a Nothing) = Nothing
  6. safeEval (Div a b) = safeEval (Div (safeEval a) (safeEval b))
  7. safeEval (Plus (Just a) (Just b)) = Just (a + b)
  8. safeEval (Plus a b) = safeEval (Plus (safeEval a) + (safeEval b))
Add Comment
Please, Sign In to add comment