;; this nex thing is actually a possible test-case for A16, map and call/cc (begin (eval-one-exp '(define stored-k #f)) (eval-one-exp '(define id-with-k-storage (lambda (n) (if (= n 3) (call/cc (lambda (k) (begin (set! stored-k k) n))) n)))) (eval-one-exp '(define answer (map id-with-k-storage '(0 1 2 3 4 5)))) (eval-one-exp '(map (lambda (x) (if (= x 15) (stored-k x) x)) '(10 11 12 13 14 15 16 17))) (eval-one-exp 'answer) ) ; this is the code to be executred (one expression at a time) in Scheme. (define stored-k #f) (define id-with-k-storage (lambda (n) (if (= n 3) (call/cc (lambda (k) (begin (set! stored-k k) n))) n))) (define answer (map id-with-k-storage '(0 1 2 3 4 5))) (map (lambda (x) (if (= x 15) (stored-k x) x)) '(10 11 12 13 14 15 16 17)) answer