[m-rev.] for review: decide each type's representation just once

Zoltan Somogyi zoltan.somogyi at runbox.com
Tue Feb 20 13:35:06 AEDT 2018

On Thu, 15 Feb 2018 16:17:22 +1100, Peter Wang <novalazy at gmail.com> wrote:
> You could commit it for a few days (however long it takes to produce a
> source distribution) so that we can check for any differences on other
> programs.

At least two ROTDs have this diff now. Has anyone found any problems?
If yes, please tell me before tomorrow evening, as a plan to start working
on non-backwards-compatible changes to type representations by then.

I expect that most improvements to type representation will have the effect
of requiring a program to be compiled either (a) entirely with a compiler
that does not have the improvement, or (b) entirely with a compiler
that *does* have the improvement. If some modules are compiled
with one kind of compiler and some module are compiled with the other,
then modules on differing sides of the divide will make inconsistent
assumptions about how the affected types are represented, which means
that the executable won't work properly.

Introducing an invisible grade component for each improvement
seems like overkill to me. Are people ok with recompiling whole programs
when their (manually or automatically) installed compiler changes?
I of course intend to announce every such change on this mailing list.
I also intend to send a general message to mercury-users, not for every
such change, but once when these changes start, and once when they end.


More information about the reviews mailing list