[m-rev.] For review: more fixes to purity checking for inst any vars

Julien Fischer juliensf at cs.mu.OZ.AU
Tue Nov 15 14:23:03 AEDT 2005


On Mon, 14 Nov 2005, Ralph Becket wrote:

> Estimated hours taken: 7
> Branches: main
>
> Fix a bug introduced in my recent change to purity checking for inst any
> non-locals in negated contexts, where the compiler was not correctly
> reporting purity errors to do with unifications or mismatches between
> clause body purity and declared purity.
>
> compiler/hlds_goal.m:
> compiler/qual_info.m:
> compiler/superhomogeneous.m:
> compiler/unique_modes.m:
> 	Unification goals are no longer automatically pure.
>
> compiler/purity.m:
> 	When inferring the purity of a goal, use the worst purity of
> 	what was inferred vs. what was declared.
>
> extras/solver_types/library/any_assoc_list.m:
> extras/solver_types/library/any_list.m:
> extras/solver_types/library/any_map.m:
> extras/solver_types/library/any_tree234.m:
> 	Fix impurity errors that are now detected by the compiler: before
> 	it was correctly only repored non-declared-impure uses of

Delete was.


> 	inst any non-locals in negated contexts; now it also reports
> 	when a clause body's purity differs from the declared purity.
>
That looks fine.  It would be a good idea to add a couple of test cases
though, although the clp(r) interface and libany can act as test cases,
we don't really pay much attention to the former (also it doesn't work
on saturn) and we don't test the latter.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list