[m-rev.] Solver support for abstract equivalence solver types
Ralph Becket
rafe at cs.mu.OZ.AU
Thu Dec 9 13:07:58 AEDT 2004
I located a bug caused by a "clean-up" fix, which I've now removed from
the change:
Ralph Becket, Wednesday, 1 December 2004:
> -polymorphism__process_goal_expr(Goal0, GoalInfo0, Goal, !Info) :-
> - PredId = Goal0 ^ call_pred_id,
> - ArgVars0 = Goal0 ^ call_args,
> +polymorphism__process_goal_expr(GoalExpr, GoalInfo0, Goal, !Info) :-
> + GoalExpr = call(PredId, ProcId, ArgVars0, BuiltinState,
> + MaybeCallUnifyContext, SymName),
> polymorphism__process_call(PredId, ArgVars0, GoalInfo0, GoalInfo,
> ExtraVars, ExtraGoals, !Info),
> ArgVars = ExtraVars ++ ArgVars0,
> - CallExpr = Goal0 ^ call_args := ArgVars,
> - Call = CallExpr - GoalInfo,
> - list__append(ExtraGoals, [Call], GoalList),
> - conj_list_to_goal(GoalList, GoalInfo0, Goal).
> + CallExpr = call(PredId, ProcId, ArgVars, BuiltinState,
> + MaybeCallUnifyContext, SymName),
> + CallGoal = CallExpr - GoalInfo,
> + conj_list_to_goal(ExtraGoals ++ [CallGoal], GoalInfo, Goal).
The GoalInfo in the call to conj_list_to_goal should have been GoalInfo0.
This was causing a few problems which are all fixed now. Otherwise the
original diff stands.
-- 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