[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:

<http://www.cs.mu.oz.au/research/mercury/mailing-lists/mercury-reviews/mercury-reviews.0307/0003.html>

> 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.

Julien.
--------------------------------------------------------------------------
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