diff options
Diffstat (limited to 'lambda-calcul/rust/sample')
| -rw-r--r-- | lambda-calcul/rust/sample/test.txt | 5 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test01/input | 1 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test01/output | 1 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test02/input | 6 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test02/output | 4 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test03/input | 12 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test03/output | 9 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_bool.txt | 15 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_full.txt | 1 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_let.txt | 1 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_nat.txt | 9 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_normal.txt | 1 |
12 files changed, 65 insertions, 0 deletions
diff --git a/lambda-calcul/rust/sample/test.txt b/lambda-calcul/rust/sample/test.txt new file mode 100644 index 0000000..76dc68a --- /dev/null +++ b/lambda-calcul/rust/sample/test.txt @@ -0,0 +1,5 @@ +12 +foo + true + +(x x) diff --git a/lambda-calcul/rust/sample/test01/input b/lambda-calcul/rust/sample/test01/input new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/lambda-calcul/rust/sample/test01/input @@ -0,0 +1 @@ +12 diff --git a/lambda-calcul/rust/sample/test01/output b/lambda-calcul/rust/sample/test01/output new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/lambda-calcul/rust/sample/test01/output @@ -0,0 +1 @@ +12 diff --git a/lambda-calcul/rust/sample/test02/input b/lambda-calcul/rust/sample/test02/input new file mode 100644 index 0000000..81a0443 --- /dev/null +++ b/lambda-calcul/rust/sample/test02/input @@ -0,0 +1,6 @@ +(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)))) + +(fst (snd (pair 1 (pair 2 0)))) diff --git a/lambda-calcul/rust/sample/test02/output b/lambda-calcul/rust/sample/test02/output new file mode 100644 index 0000000..c61e10e --- /dev/null +++ b/lambda-calcul/rust/sample/test02/output @@ -0,0 +1,4 @@ +true +true +true +2 diff --git a/lambda-calcul/rust/sample/test03/input b/lambda-calcul/rust/sample/test03/input new file mode 100644 index 0000000..6cff466 --- /dev/null +++ b/lambda-calcul/rust/sample/test03/input @@ -0,0 +1,12 @@ +(def zero (lam (f s) s)) +(def succ (lam (n f s) (f (n f s)))) + +(def one (succ zero)) +(def two (succ one)) +(def three (succ two)) +(def four (succ three)) +(def five (succ four)) + +(def plus (lam (a b f s) (a f (b f s)))) + +(plus one three) diff --git a/lambda-calcul/rust/sample/test03/output b/lambda-calcul/rust/sample/test03/output new file mode 100644 index 0000000..fd56297 --- /dev/null +++ b/lambda-calcul/rust/sample/test03/output @@ -0,0 +1,9 @@ +true +true +true +true +true +true +true +true +four diff --git a/lambda-calcul/rust/sample/test_bool.txt b/lambda-calcul/rust/sample/test_bool.txt new file mode 100644 index 0000000..a1b1309 --- /dev/null +++ b/lambda-calcul/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/lambda-calcul/rust/sample/test_full.txt b/lambda-calcul/rust/sample/test_full.txt new file mode 100644 index 0000000..ece76b8 --- /dev/null +++ b/lambda-calcul/rust/sample/test_full.txt @@ -0,0 +1 @@ +(((lam x (lam x x)) 13) true) diff --git a/lambda-calcul/rust/sample/test_let.txt b/lambda-calcul/rust/sample/test_let.txt new file mode 100644 index 0000000..6027cd0 --- /dev/null +++ b/lambda-calcul/rust/sample/test_let.txt @@ -0,0 +1 @@ +(let (foo (lam x x)) ((let (foo foo) foo) 13)) diff --git a/lambda-calcul/rust/sample/test_nat.txt b/lambda-calcul/rust/sample/test_nat.txt new file mode 100644 index 0000000..81a6e9d --- /dev/null +++ b/lambda-calcul/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))) diff --git a/lambda-calcul/rust/sample/test_normal.txt b/lambda-calcul/rust/sample/test_normal.txt new file mode 100644 index 0000000..00abde9 --- /dev/null +++ b/lambda-calcul/rust/sample/test_normal.txt @@ -0,0 +1 @@ +((lam x 1) ((lam x (x x)) (lam x (x x)))) |
