aboutsummaryrefslogtreecommitdiff
path: root/tests/lambda.lisp
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-21 17:19:11 +0800
committerMistivia <i@mistivia.com>2025-06-21 17:19:11 +0800
commitfec7a34cdc55f226e69d98267e42fa4b52b0193c (patch)
tree8ac2bc5f7c6372a722a080757c2b6f0f6ed12fc1 /tests/lambda.lisp
parent1de8cda84460198e764a94c1f0f106ecaf001331 (diff)
move test files
Diffstat (limited to 'tests/lambda.lisp')
-rw-r--r--tests/lambda.lisp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/lambda.lisp b/tests/lambda.lisp
new file mode 100644
index 0000000..5c93bdb
--- /dev/null
+++ b/tests/lambda.lisp
@@ -0,0 +1,12 @@
+(defun Y (f)
+ (funcall
+ (lambda (g) (funcall g g))
+ (lambda (h)
+ (funcall f (lambda args (apply (funcall h h) args))))))
+(defun fibo-impl (self)
+ (lambda (n)
+ (if (<= n 2)
+ 1
+ (+ (funcall self (- n 1)) (funcall self (- n 2))))))
+(defvar fibo (Y #'fibo-impl))
+(assert (= 55 (funcall fibo 10)))