[m-dev.] implicit purity promises

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Feb 18 12:43:52 AEDT 2009


On Wed, 18 Feb 2009, Ian MacLarty wrote:

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

I think we should just get rid of it.

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