[plt-scheme] Conflicts in require statements
You could use prefix to solve the problem (but how to identfy what modules are causing the problem is another issue that I can't help with..)
Example:
(module module 3 mzscheme
(require (prefix m1: module1))
(require (prefix m2: module2))
(printf "~a~n" m1:a))
Hope this helps
Regards
/sverre
----- Original Message ----
From: Dave Gurnell <d.j.gurnell at gmail.com>
To: plt-scheme at list.cs.brown.edu
Sent: Friday, February 16, 2007 4:20:26 PM
Subject: [plt-scheme] Conflicts in require statements
Dear All,
I quite often get collisions in the names of procedures required from
two or more modules:
(module module1 mzscheme
(define a 1)
(define b 2)
(provide a b))
(module module2 mzscheme
(define a 10)
(define c 20)
(provide a c))
(module module3 mzscheme
(require module1 module2)
(printf "~a~n" a))
Trying to compile this lot gives the error message:
module: identifier already imported (from a different source) in: a
Rather frustratingly, this message doesn't say *where* the colliding
names come from. It's obvious in this example, but in modules with
lots of requirements I sometimes end up commenting lines out one by
one until changes in the error message reveal the source of the problem.
Am I missing an easy way of finding these collisions when it isn't
obvious?
Cheers,
-- Dave
_________________________________________________
For list-related administrative tasks:
http://list.cs.brown.edu/mailman/listinfo/plt-scheme
_________________________________________________________
Flyger tiden iväg? Fånga dagen med Yahoo! Mails inbyggda
kalender. Dessutom 250 MB gratis, virusscanning och antispam. Få den på: http://se.mail.yahoo.com