This is the mail archive of the guile@cygnus.com mailing list for the guile project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Here's a very explicit version:
;;; A very simplistic version
(define to-walker #f)
(define to-user #f)
(define (scopeWalkDemo3)
(call/cc (lambda (c)
(to-user c)))
(let ((l (list 'cow 'horse 'pig )))
(do ((i 0 (+ i 1)))
((= i (length l)))
(call/cc (lambda (c)
(set! to-walker c)
(to-user (list-ref l i)))))))
(define (test3)
(set! to-walker
(call/cc (lambda (c)
(set! to-user c)
(scopeWalkDemo3))))
(do ((j 0 (1+ j))
(tmp #f))
((>= j 3))
(write-line (list j v-demo))
(set! tmp (call/cc (lambda (c)
(set! to-user c)
(to-walker #f))))
(vector-set! v-demo j tmp)))