[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
then.

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