summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud.bailly@iohk.io>2024-09-29 12:56:20 +0200
committerArnaud Bailly <arnaud.bailly@iohk.io>2024-09-29 12:56:20 +0200
commit9dcff1ea1b11f765f074d9b93e67bc6760f52049 (patch)
tree31ed6a7be49d534466f11cc11422af492b360d21
parent04261b4798a73118f5266801fca9bf3d7ca95bdf (diff)
downloadlambda-nantes-9dcff1ea1b11f765f074d9b93e67bc6760f52049.tar.gz
More sample basic lambda terms
-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)))