[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