On Fri 13 Nov 2015 04:31, Zefram <zef...@fysh.org> writes: > scheme@(guile-user)> (use-modules (ice-9 control)) > scheme@(guile-user)> (call/ec (lambda (c) (with-continuation-barrier (lambda > () (c "through continuation"))) "c-w-b returned")) > $1 = "through continuation" > > The continuation barrier works fine on call/cc continuations and > on throw/catch, but doesn't block call/ec continuations. The manual > doesn't mention any difference in behaviour for this case, nor can I > see any obvious justification for it. The manual's statement that > > # Thus, `with-continuation-barrier' returns exactly once. > > is false in this case. I think a continuation barrier should block the > use of the call/ec continuation.
I agree, good catch. Andy