summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust/sample/test_bool.txt15
-rw-r--r--rust/sample/test_nat.txt9
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)))