[m-dev.] Rethink of impurity w.r.t. solver code in negated contexts

Ralph Becket rafe at cs.mu.OZ.AU
Wed Dec 7 00:51:17 AEDT 2005


Mark Brown, Wednesday,  7 December 2005:
> So, you would write the above example as
> 
> 	impure ( (p(f(X)), q(X)) -> ... ; ... )
> 
> and the compiler would accept this code and just treat it as an impure goal
> like any other.  Furthermore, if you know that the condition really doesn't
> bind any variables then you can safely put your promise in an appropriate
> place.  In particular, you could write
> 
> 	promise_pure_implicit ( ... -> ... ; ... )
> 
> and this would mean that you are promising (amongst other things) that the
> condition won't bind any variables.

This is actually what I first thought of, but discussion with Mark and
Peter changed my mind.  But you've just changed it back again :-).

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