Update recursive test to simpler example
authorLuke Lau <luke_lau@icloud.com>
Mon, 29 Jul 2019 13:00:00 +0000 (14:00 +0100)
committerLuke Lau <luke_lau@icloud.com>
Mon, 29 Jul 2019 13:00:00 +0000 (14:00 +0100)
tests.scm

index 531efe23223d79a1242e50aae316cae953686d89..a198dd4ac5a00e4cd71e9a88f8ae32eefbca994c 100644 (file)
--- a/tests.scm
+++ b/tests.scm
 (test-prog '((lambda (f) (f 3 3)) (lambda (x y) (bool->int (= x y)))) 1)
 (test-prog '(bool->int ((lambda (f) (! (f 2 3))) =)) 1)
 
-                                       ; recursion (hangs at typechecking)
-(test-prog '(let [(fac (lambda (f n x) (if (= n 0) x (f f (- n 1) (* x x)))))]
-             (fac fac 3 2))
-          8)
+                                       ; recursion
+(test-prog '(let [(inc (lambda (f n x)
+                        (if (= n 0)
+                            x
+                            (f f (- n 1) (+ x 1)))))]
+             (inc inc 3 2))
+          5)