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.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Zefram <zefram <at> fysh.org>
Subject: bug#21900: closed (Re: bug#21900: map is not continuation-safe)
Date: Mon, 20 Jun 2016 16:02:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#21900: map is not continuation-safe

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 21900 <at> debbugs.gnu.org.

-- 
21900: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21900
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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

[Message part 3 (message/rfc822, inline)]
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



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.