[m-rev.] For review: change the way we handle inst any non-locals in negated contexts (again)

Mark Brown mark at cs.mu.OZ.AU
Thu Dec 15 23:28:25 AEDT 2005


On 15-Dec-2005, Ian MacLarty <maclarty at cs.mu.OZ.AU> wrote:
> On 15 Dec 2005, at 11:35, Mark Brown wrote:
> >Another alternative is a set of scopes which allow implicit purity, 
> >but which
> >also assert what the purity of the scope actually is.  That is, these 
> >scopes
> >would be "pure_implicit", "semipure_implicit" and "impure_implicit", 
> >and
> >they would be similar to the "promise_*_implicit" scopes that have been
> >removed, except that they wouldn't be making any promises.  Come to 
> >think of
> >it, I like these scopes better, but I'd be happier if I could think of
> >better names for them.
> >
> 
> I also prefer that idea.  What about just having impure( goals...) or 
> semipure( goals...), so it's the same as having impure or semipure 
> before a call, but you can have them around an arbitrary goal?

How would you then interpret the goal

	impure ( ... -> ... ; ... )

?

Does it mean "this if-then-else uses 'any' insts in the condition and
is known to be impure", or "this if-then-else uses 'any' insts in the
condition, is known to be impure AND I don't want you to complain if I've
omitted some annotations in the subgoals".

Also, annotations would already be permitted on arbitrary goals.  The
"promise" annotations serve the same purpose that the "promise" scopes
currently do (and are syntactically identical); the other annotations
don't really do anything except document (in a way that is checked) what
the purity level of the goal is.

Cheers,
Mark.

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