some more tests
This commit is contained in:
parent
f26b23d821
commit
d1b27940b7
|
@ -244,6 +244,7 @@
|
||||||
1
|
1
|
||||||
(* x (f (sub1 x)))))])
|
(* x (f (sub1 x)))))])
|
||||||
(f 1000))
|
(f 1000))
|
||||||
|
#:control-limit 3
|
||||||
#:stack-limit 8)
|
#:stack-limit 8)
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,6 +303,25 @@
|
||||||
(+ 3 4 5 6))
|
(+ 3 4 5 6))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(test '(begin
|
||||||
|
(define (foo y)
|
||||||
|
y)
|
||||||
|
(define (sum-iter x acc)
|
||||||
|
(if (= x 0)
|
||||||
|
acc
|
||||||
|
(let* ([y (sub1 x)]
|
||||||
|
[z (+ x acc)])
|
||||||
|
(foo y)
|
||||||
|
(sum-iter y z))))
|
||||||
|
(sum-iter 300 0))
|
||||||
|
45150
|
||||||
|
#:stack-limit 8
|
||||||
|
#:control-limit 4)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; deriv
|
;; deriv
|
||||||
(test '(begin (define (deriv-aux a) (list '/ (deriv a) a))
|
(test '(begin (define (deriv-aux a) (list '/ (deriv a) a))
|
||||||
(define (map f l)
|
(define (map f l)
|
||||||
|
@ -581,6 +601,11 @@
|
||||||
#:control-limit 3)
|
#:control-limit 3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#;(test '(let ([x 16])
|
#;(test '(let ([x 16])
|
||||||
(call/cc (lambda (k) (+ x x))))
|
(call/cc (lambda (k) (+ x x))))
|
||||||
32
|
32
|
||||||
|
@ -774,6 +799,72 @@
|
||||||
(error 'letrec-failed)))
|
(error 'letrec-failed)))
|
||||||
|
|
||||||
|
|
||||||
|
(test '(letrec ([a (lambda ()
|
||||||
|
(b))]
|
||||||
|
[b (lambda ()
|
||||||
|
(c))]
|
||||||
|
[c (lambda ()
|
||||||
|
(d))]
|
||||||
|
[d (lambda ()
|
||||||
|
(e))]
|
||||||
|
[e (lambda ()
|
||||||
|
(f))]
|
||||||
|
[f (lambda ()
|
||||||
|
(g))]
|
||||||
|
[g (lambda ()
|
||||||
|
"gee!")])
|
||||||
|
(a))
|
||||||
|
"gee!"
|
||||||
|
#:stack-limit 9
|
||||||
|
#:control-limit 2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(test '(letrec ([a (lambda ()
|
||||||
|
(b))]
|
||||||
|
[b (lambda ()
|
||||||
|
(c))]
|
||||||
|
[c (lambda ()
|
||||||
|
(d))]
|
||||||
|
[d (lambda ()
|
||||||
|
(e))]
|
||||||
|
[e (lambda ()
|
||||||
|
(f))]
|
||||||
|
[f (lambda ()
|
||||||
|
(g))]
|
||||||
|
[g (lambda ()
|
||||||
|
"gee!")]
|
||||||
|
[h (lambda ()
|
||||||
|
"ho!")])
|
||||||
|
(a))
|
||||||
|
"gee!"
|
||||||
|
#:stack-limit 12
|
||||||
|
#:control-limit 2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(test '(letrec ([a (lambda (lst)
|
||||||
|
(b (cons "a" lst)))]
|
||||||
|
[b (lambda (lst)
|
||||||
|
(c (cons "b" lst)))]
|
||||||
|
[c (lambda (lst)
|
||||||
|
(d (cons "c" lst)))]
|
||||||
|
[d (lambda (lst)
|
||||||
|
(e (cons "d" lst)))]
|
||||||
|
[e (lambda (lst)
|
||||||
|
(f (cons "e" lst)))]
|
||||||
|
[f (lambda (lst)
|
||||||
|
(g (cons "f" lst)))]
|
||||||
|
[g (lambda (lst)
|
||||||
|
(cons "gee!" lst))])
|
||||||
|
(a '()))
|
||||||
|
'("gee!" "f" "e" "d" "c" "b" "a")
|
||||||
|
#:stack-limit 12
|
||||||
|
#:control-limit 2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user