[m-rev.] diff: alternative fix for bug 264 test case
Mark Brown
mark at mercurylang.org
Sun Nov 22 17:13:51 AEDT 2015
On Sun, Nov 22, 2015 at 5:11 PM, Mark Brown <mark at mercurylang.org> wrote:
> On Sat, Nov 21, 2015 at 1:59 PM, Mark Brown <mark at mercurylang.org> wrote:
>> While this fixes the test case for the bug, but there may be similar
>> cases that still fail. I think the abstract merge and unify algorithms
>> in inst_util.m need to be checked to ensure that they are properly
>> adhering to the meaning of the ho_inst_info values.
>
> I've now checked these. Abstract unify is not a problem, but merge had
> a similar bug to the ones in inst matching; see the attached diff,
> which has been committed.
>
> With the existing workaround, the test case in this diff gives the
> following output:
I meant with the existing workaround *removed*.
>
> default_ho_inst_2.m:033: In clause for `main(di, uo)':
> default_ho_inst_2.m:033: mode mismatch in disjunction.
> default_ho_inst_2.m:033: The variable `F' has these instantiation states:
> default_ho_inst_2.m:033: line 31: unique(default_ho_inst_2.foo(/* unique
> default_ho_inst_2.m:033: */(func((ground >> ground)) = (free >> ground) is
> default_ho_inst_2.m:033: semidet)))
> default_ho_inst_2.m:033: line 33: ground
>
> Mark
More information about the reviews
mailing list