X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=tests.scm;h=c4b81f15158e4a7f63152edab863dc9c5e10988b;hb=ab0b66e68a85e8e71442ee70a81c16d04e66145d;hp=f078229dd6364f78ac5769341f8f53b8d3edad27;hpb=e3f83f555562bb5681bdb1ae9a2842df49c20d28;p=scheme.git diff --git a/tests.scm b/tests.scm index f078229..c4b81f1 100644 --- a/tests.scm +++ b/tests.scm @@ -103,3 +103,21 @@ (f f (- n 1) (+ x 1)))))] (inc inc 3 2)) 5) + +(test-prog '(let ([go (lambda (n m x) + (if (= n 0) + x + (go (- n 1) m (* x m))))] + [pow (lambda (p y) (go p y 1))]) + + (pow 3 2)) + 8) + +(test-prog '(let ([pow (lambda (p y) + (let ([go (lambda (n x) + (if (= n 0) + x + (go (- n 1) (* x y))))]) + (go p 1)))]) + (pow 4 2)) + 16)