[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