From 9dcff1ea1b11f765f074d9b93e67bc6760f52049 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sun, 29 Sep 2024 12:56:20 +0200 Subject: More sample basic lambda terms --- rust/sample/test_bool.txt | 15 +++++++++++++++ rust/sample/test_nat.txt | 9 +++++++++ 2 files changed, 24 insertions(+) create mode 100644 rust/sample/test_bool.txt create mode 100644 rust/sample/test_nat.txt (limited to 'rust') 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))) -- cgit v1.2.3