From 1c4a175e00e727ac4987f60503bd7dbaeb3f26ad Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Tue, 28 Oct 2025 16:42:28 +0100 Subject: wip: use de Bruijn indices representation provide sample complex terms to evaluate --- lambda-calcul/haskell/bool.lisp | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lambda-calcul/haskell/bool.lisp (limited to 'lambda-calcul/haskell/bool.lisp') 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)) -- cgit v1.3.1