GNU bug report logs - #21900
map is not continuation-safe

Previous Next

Package: guile;

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

Date: Fri, 13 Nov 2015 08:35:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 21900 in the body.
You can then email your comments to 21900 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#21900; Package guile. (Fri, 13 Nov 2015 08:35:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Zefram <zefram <at> fysh.org>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Fri, 13 Nov 2015 08:35:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Zefram <zefram <at> fysh.org>
To: bug-guile <at> gnu.org
Subject: map is not continuation-safe
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




Reply sent to Andy Wingo <wingo <at> pobox.com>:
You have taken responsibility. (Mon, 20 Jun 2016 16:02:01 GMT) Full text and rfc822 format available.

Notification sent to Zefram <zefram <at> fysh.org>:
bug acknowledged by developer. (Mon, 20 Jun 2016 16:02:01 GMT) Full text and rfc822 format available.

Message #10 received at 21900-done <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Zefram <zefram <at> fysh.org>
Cc: 21900-done <at> debbugs.gnu.org
Subject: Re: bug#21900: map is not continuation-safe
Date: Mon, 20 Jun 2016 18:01:35 +0200
On Fri 13 Nov 2015 09:34, Zefram <zefram <at> fysh.org> writes:

> 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.

"Fixed" in the upcoming 2.2 release, though I think we consider this
more of an implementation detail than a bug.

Andy




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 19 Jul 2016 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 335 days ago.

Previous Next


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