[m-dev.] Module qualification of typeclass methods
Simon Taylor
stayl at cs.mu.OZ.AU
Fri Nov 2 00:37:29 AEDT 2001
On 01-Nov-2001, Peter Ross <peter.ross at miscrit.be> wrote:
> Zoltan wrote:
> > On 31-Oct-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > > I have an alternative proposal, which was part of my original proposal
> > > for nested modules. This proposal is to have a new construct
> > >
> > > :- export_module <module name>.
> > >
> > > which includes the *contents* of the specified module in the current
> module.
> > While I like the idea of this functionality, I would vote very strongly
> against
> > the name "export_module". The name "include" would be much better.
Unfortunately, the best name for this feature (`include_module')
is already taken.
> > We also need to agree on exactly what this operator would do.
>
> However regarding the semantics. I would like an operator which would allow
> one to include one module and get some set of its sub-modules automatically.
> I don't believe Ferguss suggestion allows that as it renames entities, so
> you lose the submodule information. However I do think it is a good idea
> for other uses.
I'm a bit concerned that the renaming introduced by the
`include' operator will make it more difficult to answer
the question "Where is this item defined?" when reading the
source for a large program, even when the item in question
is fully module qualified. It may also cause problems for
tools like mtags.
> I like Simons suggestion of a mechanism which says that this submodule is
> also imported when the parent is imported.
I still think that proposal is worth implementing.
Simon.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list