GNU bug report logs - #26583
2.2.1 syntax objects are not comparable

Previous Next

Package: guile;

Reported by: ludo <at> gnu.org (Ludovic Courtès)

Date: Thu, 20 Apr 2017 20:54:02 UTC

Severity: normal

Tags: fixed

Found in version 2.2.1

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: ludo <at> gnu.org (Ludovic Courtès)
To: bug-guile <at> gnu.org, Andy Wingo <wingo <at> igalia.com>
Subject: 2.2.1 syntax objects are not comparable
Date: Thu, 20 Apr 2017 22:52:59 +0200
Hello,

The “new” syntax objects in 2.2.1 cannot be compared with ‘equal?’,
unlike the “old” ones, which were just vectors.

It’s easy to fix in libguile, but was it intended?  If not, I’ll happily
send a patch.

Of course syntax objects were never officially comparable, but it turns
out that the ‘gexp’ macro in (guix gexp) relies on that when it rewrites
the syntax tree.

I tried to see if we could implement this macro differently, without
doing an explicit tree traversal, possibly using syntax parameters for
‘ungexp’ & co.  However, the difficulty is that the job of this macro
cannot be done in a single pass AFAICS.

Thoughts?

Ludo’.




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

Previous Next


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