GNU bug report logs - #24286
Guile-2.2: srfi-1 + #:duplicates (merge-generics...) + for-each raises an exception

Previous Next

Package: guile;

Reported by: David Pirotte <david <at> altosw.be>

Date: Mon, 22 Aug 2016 01:05: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: David Pirotte <david <at> altosw.be>
Subject: bug#24286: closed (Re: bug#24286: Guile-2.2: srfi-1 +
 #:duplicates (merge-generics...) + for-each raises an exception)
Date: Fri, 02 Sep 2016 07:45:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#24286: Guile-2.2: srfi-1 + #:duplicates (merge-generics...) + for-each raises an exception

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

-- 
24286: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24286
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: David Pirotte <david <at> altosw.be>
Cc: 24286-done <at> debbugs.gnu.org
Subject: Re: bug#24286: Guile-2.2: srfi-1 + #:duplicates (merge-generics...) +
 for-each raises an exception
Date: Fri, 02 Sep 2016 09:44:36 +0200
On Mon 22 Aug 2016 03:03, David Pirotte <david <at> altosw.be> writes:

> Here below a mini module [1], which raises an exception [2] using 2.1.3.104-8f2f8 (it
> compiles fine using 2.0.12).  It looks a bit of a 'silly' module but the real one
> here do need this combination, I just minimized it for tracking purposes...

Thanks for the report, it was a nice bug.  Fixed in master.

Cheers,

Andy

[Message part 3 (message/rfc822, inline)]
From: David Pirotte <david <at> altosw.be>
To: <bug-guile <at> gnu.org>
Subject: Guile-2.2: srfi-1 + #:duplicates (merge-generics...) + for-each
 raises an exception
Date: Sun, 21 Aug 2016 22:03:33 -0300
[Message part 4 (text/plain, inline)]
Hello Guilers,
Hi Andy,

Here below a mini module [1], which raises an exception [2] using 2.1.3.104-8f2f8 (it
compiles fine using 2.0.12).  It looks a bit of a 'silly' module but the real one
here do need this combination, I just minimized it for tracking purposes...

For info, if I either comment the use of srfi-1, or merge-generics, _or_ the for-each
expression, it compiles fine. I also tried foo to just do a (filter-map string?
words) and no for-each, to circumvent the problem as far as I could, and it
compiles fie as well: it appears there is a side effect of the for-each version from
srfi-1 over the core version, when using goops and declaring #:duplicates
(merge-generics ...).

Cheers,
David

[1]

(define-module (foo)
  #:use-module (srfi srfi-1)
  #:use-module (oop goops)
  
  #:duplicates (merge-generics
		replace
		warn-override-core
		warn
		last)
 
  #:export (foo))

(define (foo words)
  (for-each (lambda (word)
	      (display (string-append word " ")))
      words)
  (newline))

[2]

guild --version
guild (GNU Guile) 2.1.3.104-8f2f8

guild compile foo.scm
Backtrace:
In system/base/compile.scm:
     43:4 19 (call-once _)
In ice-9/boot-9.scm:
    829:4 18 (with-throw-handler _ _ _)
In system/base/compile.scm:
    59:11 17 (_)
   155:11 16 (_ #<closed: file 2067e00>)
   235:18 15 (read-and-compile #<input: foo.scm 13> #:from _ #:to _ # …)
   183:32 14 (compile-fold (#<procedure compile-tree-il (x e opts)>) …)
In ice-9/boot-9.scm:
   2325:4 13 (save-module-excursion #<procedure 1e09ba0 at language/…>)
In language/scheme/compile-tree-il.scm:
    31:15 12 (_)
In ice-9/psyntax.scm:
  1208:22 11 (expand-top-sequence ((define (foo words) (# (…) #) #)) …)
In ice-9/boot-9.scm:
   224:17 10 (map1 (#<procedure 205db90 at ice-9/psyntax.scm:1125:3…>))
In ice-9/psyntax.scm:
  1383:12  9 (_)
  1763:11  8 (lp (#(syntax-object (for-each (lambda (#) #) #) # …) …) …)
  1586:33  7 (parse (((("placeholder" placeholder) (# . #) …) . #) …) …)
  1307:27  6 (syntax-type (for-each (lambda (word) (display #)) #) # …)
  1291:39  5 (syntax-type for-each (("placeholder" placeholder) # #) …)
   302:24  4 (resolve-identifier _ _ (("placeholder" placeholder) …) …)
In unknown file:
           3 (module-variable #<directory (foo) 20c4bd0> for-each)
In oop/goops.scm:
   1437:4  2 (cache-miss #<directory (foo) 20c4bd0> for-each #<inte…> …)
In unknown file:
           1 (scm-error goops-error #f "No applicable method for ~S…" …)
In ice-9/boot-9.scm:
   753:26  0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:753:26: In procedure dispatch-exception:
ice-9/boot-9.scm:753:26: No applicable method for #<<generic> merge-generics (3)> in
call (merge-generics #<directory (foo) 20c4bd0> for-each #<interface (guile)
1e02ea0> #<procedure for-each (f l) | (f l1 l2) | (f l1 . rest)> #<interface (srfi
1e02ea0> srfi-1) 1e4ca20> #<procedure for-each (f l) | (f l1 l2) | (f l1 . rest)> #f
1e02ea0> #f)
[Message part 5 (application/pgp-signature, inline)]

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

Previous Next


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