[plt-scheme] module name clashes
You could use the prefix facility in the require statement.
(require (prefix s: (lib "1.ss" "srfi")))
I think that's the proper syntax or close to it. The you
reference anything provided by the srfi as s:foo instead of just
foo.
-mike
On Thu, Dec 12, 2002 at 09:01:48PM -0500, Doug Orleans wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> I'd like to use the SRFI modules from the Schematics project, but it's
> causing me some problems because it duplicates some of the stuff in
> MzLib. For example:
>
> > (module foo (lib "plt-pretty-big-text.ss" "lang")
> (require (lib "1.ss" "srfi")))
> STDIN::338: module: identifier already imported (from a different source) at: third in: (require (lib "1.ss" "srfi"))
>
> Now, I guess I could go through the two modules' `provide' statements
> and figure out all the duplicate definitions and use `all-except' in a
> `require' statement, but that seems pretty tedious (and fragile). I
> suppose I could get rid of MzLib's "list.ss" and require all the other
> MzLib modules by hand, but again this is tedious, and what if I really
> still want something provided by MzLib's list module that isn't
> provided by SRFI 1?
>
> What I think I want is a form of `require' (or something else) that
> will override bindings that come from another module, rather than
> complaining about them. In other words, I want to say that I prefer
> SRFI 1 above other modules if there are any conflicts. Is this just
> totally incompatible with the goals of the module system design? What
> other options do I have to deal with this problem?
>
> --dougo at ccs.neu.edu