[m-dev.] implicit purity promises
Ralph Becket
rafe at csse.unimelb.edu.au
Wed Feb 18 12:59:10 AEDT 2009
Ian MacLarty, Wednesday, 18 February 2009:
> On Tue, Feb 17, 2009 at 11:55 PM, Julien Fischer
> <juliensf at csse.unimelb.edu.au> wrote:
> >
> > Hi,
> >
> > promise_{pure,semipure,impure}_implicit were always a nasty
> > hack (and a bad idea IMO). Now that their principle user
> > (G12) has moved over to use explicitly threaded state, can
> > we please get rid of them?
> >
>
> While you're at it, could you get rid of, or at least rename, promise_impure?
>
> For me a "promise" is there to tell the compiler something it cannot
> automatically infer. Purity inference is conservative, so if the
> compiler infers a goal is pure then it must be pure unless there is a
> bug in the compiler or the user lied somewhere. The user should never
> need to "promise" that a goal is impure.
>
> Could we change it to something like treat_as_impure, or otherwise
> just get rid of it?
Sure. Just use impure_true to add impurity where necessary.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions: mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the developers
mailing list