[m-dev.] trivial diff: fix bug on existential types branch

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Jun 30 04:13:47 AEST 1999


Estimated hours taken: 0.75

compiler/polymorphism.m:
	Fix a bug in my previous change which moved some duplicate code into
	convert_pred_to_lambda_goal/17: it was calculating the LambdaModes
	incorrectly.

Index: polymorphism.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/polymorphism.m,v
retrieving revision 1.163.2.6
retrieving revision 1.163.2.7
diff -u -u -r1.163.2.6 -r1.163.2.7
--- polymorphism.m	1999/06/24 17:27:56	1.163.2.6
+++ polymorphism.m	1999/06/29 17:37:22	1.163.2.7
@@ -1421,8 +1421,9 @@
 	% and the determinism of the lambda goal
 	%
 	proc_info_argmodes(ProcInfo, ArgModes),
-	list__length(ArgVars0, Arity),
-	( list__drop(Arity, ArgModes, LambdaModes0) ->
+	list__length(ArgModes, NumArgModes),
+	list__length(LambdaVars, NumLambdaVars),
+	( list__drop(NumArgModes - NumLambdaVars, ArgModes, LambdaModes0) ->
 		LambdaModes = LambdaModes0
 	;
 		error("modecheck_unification: list__drop failed")

-- 
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.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list