[m-dev.] .int3 files

Julien Fischer juliensf at cs.mu.OZ.AU
Fri Jun 17 18:42:59 AEST 2005

On Thu, 16 Jun 2005, Ralph Becket wrote:

> modules.m opens with this comment:
> % The interface system works as follows:
> %
> % 1. a .int3 file is written, which contains all the types, typeclasses,
> % insts and modes defined in the interface. Equivalence types, solver
> % types, insts and modes are written in full, others are written in
> % abstract form.  These are module qualified as far as possible given
> % the information present in the current module.
> Can someone explain why discriminated union types are written out in
> abstract form?
No, but the following explains why they're not written out in abstract
form in .int2 files.  See:


> This is causing me trouble with my recent change to add module
> qualification to the right hand side of inst definitions which depends
> upon knowing which data constructors are in scope.  If du types are
> abstract in the .int3 files then we can't module qualify inst
> definitions based on .int3 files.  Catch 22!

It looks like du types will need to be written out in full in .int3 files
as well then.

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