packages feed

cap-1.0: examples/add.cap

main = add (Succ Zero) Zero

add x Zero = x
add x (Succ y) = Succ (add x y)

pred (Succ x) = x

sub x Zero = x
sub x (Succ y) = pred (sub x y)

mul x Zero = Zero
mul x (Succ y) = add x (mul x y)

eq Zero Zero = True
eq (Succ x) (Succ y) = eq x y
eq Zero (Succ x) = False
eq (Succ x) Zero = False

gt Zero x = False
gt (Succ x) Zero = True
gt (Succ x) (Succ y) = gt x y

if True x y = x
if False x y = y