Reify bytevector? in the correct module
[bpt/guile.git] / test-suite / vm / t-closure4.scm
CommitLineData
5e390de6
AW
1(define (extract-symbols exp)
2 (define (process x out cont)
3 (cond ((pair? x)
4 (process (car x)
5 out
6 (lambda (car-x out)
7 ;; used to have a bug here whereby `x' was
8 ;; modified in the self-tail-recursion to (process
9 ;; (cdr x) ...), because we didn't allocate fresh
10 ;; externals when doing self-tail-recursion.
11 (process (cdr x)
12 out
13 (lambda (cdr-x out)
14 (cont (cons car-x cdr-x)
15 out))))))
16 ((symbol? x)
17 (cont x (cons x out)))
18 (else
19 (cont x out))))
20 (process exp '() (lambda (x out) out)))
21
22(extract-symbols '(a b . c))