summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/bool.lisp
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud@pankzsoft.com>2025-10-28 16:42:28 +0100
committerArnaud Bailly <arnaud@pankzsoft.com>2025-10-28 16:42:28 +0100
commit1c4a175e00e727ac4987f60503bd7dbaeb3f26ad (patch)
tree2f25f43036aa9434b77cb0ea1266118288755460 /lambda-calcul/haskell/bool.lisp
parent1eee551ed24b58ba64d54ea19ffaab1b2821a459 (diff)
downloadlambda-nantes-1c4a175e00e727ac4987f60503bd7dbaeb3f26ad.tar.gz
wip: use de Bruijn indices representation
provide sample complex terms to evaluate
Diffstat (limited to 'lambda-calcul/haskell/bool.lisp')
-rw-r--r--lambda-calcul/haskell/bool.lisp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lambda-calcul/haskell/bool.lisp b/lambda-calcul/haskell/bool.lisp
new file mode 100644
index 0000000..250c38a
--- /dev/null
+++ b/lambda-calcul/haskell/bool.lisp
@@ -0,0 +1,10 @@
+(let ((False (lam (f t) f))
+ (True (lam (f t) t))
+ (If (lam (b x y) (b x y)))
+ (Zero (lam (z s) z))
+ (Succ (lam (n z s) (s n)))
+ (One (Succ Zero))
+ (Two (Succ One))
+ (Three (Succ Two))
+ (IsZero (lam (n) (n True (lam (m) False)))))
+ (IsZero Two))