[m-rev.] for review: make private_builtin.store_at_ref impure

Peter Wang novalazy at gmail.com
Tue Oct 7 16:33:55 AEDT 2008

On 2008-09-08, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
> On Mon, 8 Sep 2008, Peter Wang wrote:
>> These would be committed over some period of time.
> At least 2-3 days per change.  You should check that the rotd host,
> jupiter, at least has the new compiler installed before committing
> subsequent changes.
>> =============================================================================
>> Branches: main
>> `private_builtin.store_at_ref' is currently pure but should be impure.
>> There would be bootstrapping problems if we just made it impure, as it is
>> a builtin that the compiler needs to recognise.  Instead, we will add a
>> new predicate `store_at_ref_impure' to take its place.  This needs to be
>> done in three steps:
>> 1. Get the compiler to recognise `store_at_ref_impure' as a builtin.
>> 2. After step 1 has bootstrapped, add the predicate declaration for
>>   `store_at_ref_impure'.  Change generated code to call it.
>> 3. After step 2 has bootstrapped, delete `store_at_ref'.  The stage1
>>   compiler in step 2 could be built by a compiler that still generates
>>   references to `store_at_ref' so we couldn't just delete it at step 2.

Committed step 2 today.


mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au

More information about the reviews mailing list