[m-dev.] diff: bug fix

Fergus Henderson fjh at cs.mu.oz.au
Thu Jul 24 15:58:12 AEST 1997


Simon TAYLOR, you wrote:
> -			conjoin_goals(UnifyGoal, SingleGoal0, Goal1)
> +
> +			% Conjoin the test and the rest of the case.
> +			( SingleGoal0 = conj(SingleGoalConj) - _ ->
> +				GoalList = [UnifyGoal | SingleGoalConj]
> +			;
> +				GoalList = [UnifyGoal, SingleGoal0]
> +			),

How about
			goal_to_conj_list(SingleGoal0, SingleGoalConj),
			GoalList = [UnifyGoal | SingleGoalConj],
instead?

> +			set__init(NonLocals),
> +			instmap_delta_init_reachable(InstMapDelta),

A comment here explaining why the InstMapDelta is empty might be helpful.
e.g.
	% the test won't bind any variables, so the InstMapDelta is empty

> @@ -1091,7 +1105,7 @@
>  	),
>  	InstToUniMode =
>  		lambda([ArgInst::in, ArgUniMode::out] is det, (
> -			ArgUniMode = ((ArgInst - ArgInst) -> (free - ArgInst))
> +			ArgUniMode = ((ArgInst - free) -> (ArgInst - ArgInst))
>  		)),
>  	list__map(InstToUniMode, ArgInsts, UniModes),

I think that change is a bug.

Apart from that, that change looks fine.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list