Subject: map is not continuation-safe

From: Zefram <[email-masked]>
Date: Fri, 13 Nov 2015 08:34:21 +0000

With Guile 2.0.11:

scheme@(guile-user)> (define cc #f)
scheme@(guile-user)> (map (lambda (v) (if (= v 0) (call/cc (lambda (c) (set! cc c) 0)) (+ v 1))) '(10 20 30 0 40 50 60))
$1 = (11 21 31 0 41 51 61)
scheme@(guile-user)> (cc 5)
$2 = (61 51 41 0 31 5 41 51 61)

It worked correctly in Guile 1.8.

-zefram