call/cc まだつかめず。

今日の発見。
これは処理が戻らなくなる。

%gosh
gosh> (define x #f)
x
gosh> x
#f
gosh> (begin (print "a") (call/cc (lambda(z) (set! x z))) (x #t))
a

"a" を表示したっきり、黙り込むゴーシュ。豪酒。剛手。拷首。


書き直すと、

(define x #f)
(begin
  (print "a")
  (call/cc (lambda(z)
             (set! x z)))
  (x #t))