Idris2/tests/ttimp/dot001/Dot.yaff
Edwin Brady a972778eab Add test script
They don't all pass yet, for minor reasons. Coming shortly...
Unfortunately the startup overhead for chez is really noticeable here!
2020-05-19 18:25:18 +01:00

23 lines
525 B
Plaintext

data Nat : Type where
Z : Nat
S : Nat -> Nat
plus : Nat -> Nat -> Nat
plus Z $y = y
plus (S $k) $y = S (plus k y)
data Parity : Nat -> Type where
Even : (n : Nat) -> Parity (plus n n)
Odd : (n : Nat) -> Parity (S (plus n n))
half : (n : Nat) -> Parity n -> Nat
half (plus $n $n) (Even $n) = n
half (S (plus $n $n)) (Odd $n) = n
data Baz : Nat -> Type where
AddThings : (x : Nat) -> (y : Nat) -> Baz (plus x y)
addBaz : (x : Nat) -> Baz x -> Nat
addBaz (plus $x $y) (AddThings $x $y) = plus x y