summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2019-11-18 23:18:26 +0100
committertomsmeding <tom.smeding@gmail.com>2019-11-18 23:18:26 +0100
commit2cafab14203878f355a531fc6a3763881a52b108 (patch)
tree95a907d7e5d353e7c58e0a1dd77a9b41dbdef310 /tests
parent25e7ad45ea3498c706960ad8c1dde0d7f138e399 (diff)
Notes/ideas and example tests for recursive functions
Diffstat (limited to 'tests')
-rw-r--r--tests/lambdarec.lisp6
-rw-r--r--tests/letrec.lisp6
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/lambdarec.lisp b/tests/lambdarec.lisp
new file mode 100644
index 0000000..69b830c
--- /dev/null
+++ b/tests/lambdarec.lisp
@@ -0,0 +1,6 @@
+(define fibo (n)
+ (let ((helper (lambdarec rec (m a b)
+ (if (= m n) b (rec m b (+ a b))))))
+ (if (<= n 0) 0
+ (if (<= n 2) 1
+ (helper 2 1 1)))))
diff --git a/tests/letrec.lisp b/tests/letrec.lisp
new file mode 100644
index 0000000..52a7de9
--- /dev/null
+++ b/tests/letrec.lisp
@@ -0,0 +1,6 @@
+(define fibo (n)
+ (let ((helper (lambda (m a b)
+ (if (= m n) b (helper m b (+ a b))))))
+ (if (<= n 0) 0
+ (if (<= n 2) 1
+ (helper 2 1 1)))))