diff options
author | tomsmeding <tom.smeding@gmail.com> | 2019-11-18 23:18:26 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2019-11-18 23:18:26 +0100 |
commit | 2cafab14203878f355a531fc6a3763881a52b108 (patch) | |
tree | 95a907d7e5d353e7c58e0a1dd77a9b41dbdef310 /tests | |
parent | 25e7ad45ea3498c706960ad8c1dde0d7f138e399 (diff) |
Notes/ideas and example tests for recursive functions
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lambdarec.lisp | 6 | ||||
-rw-r--r-- | tests/letrec.lisp | 6 |
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))))) |