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

Zoltan Somogyi zs at cs.mu.OZ.AU
Fri Nov 12 15:38:36 AEDT 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.

The rest is fine.

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