This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: New module system wishlist
Lalo Martins <lalo@hackandroll.org> writes:
> > > A
> > > B
> > > C
> > > D
> > > E
> >
> > Yes. Environments already support this feature. If you
> > set the export-signature to #f, an export-environment
> > exports all symbols. If you connect D's import-environment
> > to the export-environment of C and E, you'll get the
> > desired effect.
>
> It just occurred to me: how do generics interface to this?
If I remember correctly we've found two solutions:
1. the clos (TM) solution: a generic is a module which maps
specializers to methods and is local to a compound module.
-> Use feature renaming or a precedence list.
2. the Michael Livshin (TM) solution: a generic is a module
which maps specializers to methods and "lives" in the (global)
"root" module. No name conflicts because methods are
(globaly) unique when we take the module context into
account.
I think that solution 2 is the right way (TM) to go. :)
Jost