(-.) = liftM2 (-)
(/.) = liftM2 (/)
(*.) = liftM2 (*)
- (^.) = liftM2 (^)
neg = fmap negate
(&.) = liftM2 (&&)
(|.) = liftM2 (||)
if' p t e = p >>= \b->if b then t else e
instance Function a Interpreter where
- fun def = Main $
- let g :- m = def g
- in unmain m
+ fun def = Main $ let g :- m = def g in unmain m