GNU bug report logs - #21897
escape continuation passes barrier

Previous Next

Package: guile;

Reported by: Zefram <zefram <at> fysh.org>

Date: Fri, 13 Nov 2015 03:32:01 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Andy Wingo <wingo <at> pobox.com>
To: Zefram <zefram <at> fysh.org>
Cc: 21897 <at> debbugs.gnu.org
Subject: bug#21897: escape continuation passes barrier
Date: Fri, 24 Jun 2016 18:23:11 +0200
On Fri 13 Nov 2015 04:31, Zefram <zefram <at> 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




This bug report was last modified 5 years and 78 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.