[m-rev.] Solver support for abstract equivalence solver types

Ralph Becket rafe at cs.mu.OZ.AU
Fri Nov 12 16:17:42 AEDT 2004


Zoltan Somogyi, Friday, 12 November 2004:
> On 12-Nov-2004, Ralph Becket <rafe at cs.mu.OZ.AU> wrote:
> > +generate_unsafe_cast(InArg, OutArg, Inst, Context, Goal) :-
> >  	set__list_to_set([InArg, OutArg], NonLocals),
> > -	instmap_delta_from_assoc_list([OutArg - ground(shared, none)],
> > -		InstMapDelta),
> > +	instmap_delta_from_assoc_list([OutArg - Inst], InstMapDelta),
> >  	goal_info_init(NonLocals, InstMapDelta, det, pure, Context, GoalInfo),
> >  	Goal = generic_call(unsafe_cast, [InArg, OutArg],
> > -		[in_mode, out_mode], det) - GoalInfo.
> > +		[in_mode(Inst), out_mode(Inst)], det) - GoalInfo.
> 
> The out_mode(Inst) is fine, but why is the first arg in_mode(Inst)? In
> general, that is a lie. I think you need a second Inst parameter.

It seems to me that the type cast should return a value with the same
inst as its input.  Can you give me an example where this wouldn't be
the case?

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