diff options
| -rw-r--r-- | rust/sample/test_bool.txt | 15 | ||||
| -rw-r--r-- | rust/sample/test_nat.txt | 9 |
2 files changed, 24 insertions, 0 deletions
diff --git a/rust/sample/test_bool.txt b/rust/sample/test_bool.txt new file mode 100644 index 0000000..a1b1309 --- /dev/null +++ b/rust/sample/test_bool.txt @@ -0,0 +1,15 @@ +(def True (lam (x y) x)) +(def False (lam (x y) y)) +(def and (lam (a b) (a b False))) +(def or (lam (a b) (a True b))) +(def not (lam a (a False True))) + +(and True True) +(and True False) +(and False True) +(and False False) + +(or True True) +(or True False) +(or False True) +(or False False) diff --git a/rust/sample/test_nat.txt b/rust/sample/test_nat.txt new file mode 100644 index 0000000..81a6e9d --- /dev/null +++ b/rust/sample/test_nat.txt @@ -0,0 +1,9 @@ +(def pair (lam (a b f) (f a b))) +(def fst (lam p (p (lam (a b) a)))) +(def snd (lam p (p (lam (a b) b)))) + +(def zero (lam (f s) s)) +(def succ (lam (n f s) (f (n f s)))) + +(def is-zero (lam n + (n (lam x False) true))) |
