GNU bug report logs -
#24286
Guile-2.2: srfi-1 + #:duplicates (merge-generics...) + for-each raises an exception
Previous Next
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
[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)]
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)]
[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.