[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