[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
Wed Dec 14 16:11:57 AEDT 2005

On 14-Dec-2005, Ralph Becket <rafe at cs.mu.OZ.AU> wrote:
> Mark Brown, Wednesday, 14 December 2005:
> > If you're really concerned about declaring something impure when it isn't,
> > then I'd be happy to allow 'promise_pure ( Goal )' as an abbreviation of
> > 'promise_pure ( impure Goal )'.  That is, you can drop the impure annotation
> > if there is a promise immediately after the introduction of the impurity.
> > But this should also apply to the other ways of introducing impurity, so
> > that the purity system remains orthogonal.
> I've been thinking for a while now that
> - we should allow optional purity annotations on compound goals as well

I have no objection to that, as long as goals which introduce impurity must
still be annotated.

> - promise_<purity> should be a purity annotation just as `impure' and
>   `semipure' are, not a scope.

I think what you are suggesting effectively allows 'promise_pure Goal' in
places where we would otherwise require 'promise_pure ( impure Goal )', which
is similar to (but better than) what I just suggested above.  So I'm happy
with this.

And, yes, if I understand correctly what you are proposing then this will
address the non-orthogonality issue.

> > Can we please rid ourselves of promise_impure before anyone
> > becomes accustomed to it?
> I'm inclined to agree.
> *plonk* - that's the sound of a job landing in your lap :-)

After an extended discussion in the office, our plan is for Ralph to commit
his change after addressing Julien's comments, then I will start work on
overhauling the purity system.  Changes to the reference manual will be
posted for review first, so discussion of the new purity system will continue


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