GNU bug report logs - #9567
curious match bug (?)

Previous Next

Package: guile;

Reported by: Andy Wingo <wingo <at> pobox.com>

Date: Wed, 21 Sep 2011 03:36:01 UTC

Severity: normal

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

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: Andy Wingo <wingo <at> pobox.com>
Subject: bug#9567: closed (Re: bug#9567: `match' bug ?)
Date: Sun, 16 Oct 2011 16:40:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#9567: curious match bug (?)

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 9567 <at> debbugs.gnu.org.

-- 
9567: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9567
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Alex Shinn <alexshinn <at> gmail.com>
Cc: Andy Wingo <wingo <at> pobox.com>, 9567-done <at> debbugs.gnu.org
Subject: Re: bug#9567: `match' bug ?
Date: Sun, 16 Oct 2011 18:38:52 +0200
Hi Alex,

Alex Shinn <alexshinn <at> gmail.com> skribis:

> 2011/10/15 Ludovic Courtès <ludo <at> gnu.org>:
>>
>> I’m trying to update Guile’s copy from Chibi but changeset
>> 876:528cdab3f818 in the default branch doesn’t seem to contain the fix.
>>
>> What am I missing?
>
> "hg export 851" will show you the changes, including
> the new test case.  Does it not work in Guile?

Yes.

> On the off chance you're unfamiliar with mercurial,
> did you remember to "hg update" after fetching the
> changes?

Oh indeed, I had run ‘hg pull’ (I think) but not ‘hg update’.

Thanks!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: bug-guile <bug-guile <at> gnu.org>
Subject: curious match bug (?)
Date: Wed, 21 Sep 2011 05:34:36 +0200
Hi,

Try this:

  (use-modules (language tree-il) (ice-9 match))
  (define foo (parse-tree-il '(let-values (apply (lambda () (lambda-case ((() #f #f #f () ()) (apply (primitive values) (const 1) (const 2)))))) (lambda-case (((a b) #f #f #f () (#{a 134390}# #{b 134391}#)) (apply (primitive list) (lexical a #{a 134390}#) (lexical b #{b 134391}#)))))))
  (match foo
    (($ <let-values> src exp
        ($ <lambda-case> src2 req #f #f #f () gensyms body #f))
     #t)
    (_
     #f))
  => #t
                         
  (match foo
    (($ <let-values> src foo ;; <- rename "exp" to "foo"
        ($ <lambda-case> src2 req #f #f #f () gensyms body #f))
     #t)
    (_
     #f))
  => #f

I tried to reduce this case a bit, but didn't succeed directly, and I
need to move on.  But what is the deal here?

Andy
-- 
http://wingolog.org/



This bug report was last modified 13 years and 222 days ago.

Previous Next


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