[m-rev.] for review: implement Mantis 497

Zoltan Somogyi zoltan.somogyi at runbox.com
Sun Apr 5 02:41:14 AEST 2020


For review by Peter, since it is his feature request.
The diff is with -b.

Note: this diff makes duplicate warnings in disable_warnings
scopes into errors, since they can and should be fixed
regardless of any bootstrapping issues. However, I could be
persuaded to make them warnings.

After acting on the review and committing this, I also intend
to break up the parse_non_call_goal predicate in parse_goal.m,
since its almost 950 lines. combined with the extensive use
of ambiguous function symbols such as "++" and "words",
causes the typechecker to generate a huge number of type
assign sets (since the number of type assign sets is *exponential*
in the number of not-yet-resolved ambiguities). It was compiling
a version of this predicate containing dozens of type errors
that took three minutes before my recent changes.

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.497
Type: application/octet-stream
Size: 1822 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20200405/33a3dd12/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.497
Type: application/octet-stream
Size: 105124 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20200405/33a3dd12/attachment-0003.obj>


More information about the reviews mailing list