aboutsummaryrefslogtreecommitdiff
path: root/tests/tailcall.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tailcall.lisp')
-rw-r--r--tests/tailcall.lisp9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/tailcall.lisp b/tests/tailcall.lisp
index 8cea496..86a88c8 100644
--- a/tests/tailcall.lisp
+++ b/tests/tailcall.lisp
@@ -12,6 +12,15 @@
(assert (is-odd 1))
(assert (is-even 2))
+(defun cnt-down (x)
+ (if (= x 0)
+ #t
+ (progn
+ (cnt-down (- x 1)))))
+
+(assert (cnt-down 10000))
+
;; can pass without stack overflow,
;; but comment out for too time-consuming
;; (assert (is-even 1000000))
+;; (assert (cnt-down 1000000))