1 implementation module main
8 gDefault{|Expr|} = Lit 0
12 eval (e1 +. e2) = eval e1 + eval e2
15 pprint :: Expr -> String
16 pprint (Lit i) = toString i
17 pprint (e1 +. e2) = pprint e1 +++ " + " +++ pprint e2
18 pprint x = pprintSub x
20 Start = pprint (Lit 5 -. Lit 6)