[m-rev.] for review: make pred names for lambdas unique

Ian MacLarty maclarty at cs.mu.OZ.AU
Mon May 23 23:13:12 AEST 2005


I'm not sure if I've done this change correctly.  There seem to be two places
where the predicate name of a lambda expression is computed.  Once when it gets
added to the hlds (in lambda.m) and then again when the C code is generated
(in layout_out.m).  I have no idea why this is done twice.  Also the unique
number associated with each lambda is called "LambdaCount" in lambda.m and
"SeqNo" in layout_out.m and I couldn't work out if these two numbers
correspond.  Does the predicate name generated in lambda.m need to be the
same as the one generated in layout_out.m?

For review by anyone who can answer the above question.

Estimated hours taken: 2
Branches: main

Make the names of predicates introduced by lambda expressions unique.
This is necessary so they can be distinguished from each other in
trace count files.

compiler/hlds_pred.m:
	If the source of a predicate is a lambda expression, store a
	unique number which can be used to generate a unique name.

compiler/lambda.m:
	Use the lambda count as the unique identifier for each lambda
	expression.

compiler/layout_out.m:
	Use the lambda sequence number as the unique identifier for each
	lambda expression.

	Use the unique identifier when generating the predicate name.

compiler/hlds_out.m:
	Use lambda/3 instead of lambda/2.

tests/debugger/Mmakefile:
tests/debugger/lambdatest.exp:
tests/debugger/lambdatest.inp:
tests/debugger/lambdatest.m:
	Test that the predicate names for lambda expressions are unique,
	even if they appear in the same call.

tests/debugger/higher_order.exp:
tests/debugger/lambda_expr.exp:
tests/debugger/declarative/find_origin.exp:
tests/debugger/declarative/find_origin.exp2:
tests/debugger/declarative/higher_order.exp:
tests/debugger/declarative/higher_order.exp2:
tests/debugger/declarative/ho2.exp2:
tests/debugger/declarative/trust.exp:
tests/hard_coded/deconstruct_arg.exp:
	Expect the new unique predicate names.

Index: compiler/hlds_out.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/hlds_out.m,v
retrieving revision 1.355
diff -u -r1.355 hlds_out.m
--- compiler/hlds_out.m	11 May 2005 08:52:24 -0000	1.355
+++ compiler/hlds_out.m	22 May 2005 04:53:56 -0000
@@ -1081,7 +1081,7 @@
 			Origin = assertion(_, _),
 			io__write_string("% assertion\n", !IO)
 		;
-			Origin = lambda(_, _)
+			Origin = lambda(_, _, _)
 		;
 			Origin = user(_)
 		)
Index: compiler/hlds_pred.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/hlds_pred.m,v
retrieving revision 1.161
diff -u -r1.161 hlds_pred.m
--- compiler/hlds_pred.m	7 Apr 2005 06:32:08 -0000	1.161
+++ compiler/hlds_pred.m	23 May 2005 07:19:48 -0000
@@ -705,11 +705,12 @@
 				% backend.)
 	;	assertion(string, int)
 				% The predicate represents an assertion.
-	;	lambda(string, int)
+	;	lambda(string, int, int)
 				% The predicate is a higher-order manifest
 				% constant. The arguments specify its location
 				% in the source, as a filename/line number
-				% pair.
+				% pair, and an integer that uniquely identifies
+				% it.
 	;	user(sym_name).
 				% The predicate is a normal user-written
 				% predicate; the string is its name.
Index: compiler/lambda.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/lambda.m,v
retrieving revision 1.98
diff -u -r1.98 lambda.m
--- compiler/lambda.m	1 Apr 2005 14:28:57 -0000	1.98
+++ compiler/lambda.m	22 May 2005 04:41:30 -0000
@@ -573,8 +573,8 @@
 		set__init(Assertions),

 		pred_info_create(ModuleName, PredName, PredOrFunc,
-			LambdaContext, lambda(OrigFile, OrigLine), local,
-			LambdaMarkers, ArgTypes, TVarSet, ExistQVars,
+			LambdaContext, lambda(OrigFile, OrigLine, LambdaCount),
+			local, LambdaMarkers, ArgTypes, TVarSet, ExistQVars,
 			Constraints, Assertions, Owner, ProcInfo, ProcId,
 			PredInfo),

Index: compiler/layout_out.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/layout_out.m,v
retrieving revision 1.47
diff -u -r1.47 layout_out.m
--- compiler/layout_out.m	31 Mar 2005 04:44:21 -0000	1.47
+++ compiler/layout_out.m	23 May 2005 13:07:45 -0000
@@ -1072,7 +1072,8 @@
 	LayoutName = closure_proc_id(CallerProcLabel, SeqNo, ClosureProcLabel),
 	output_layout_name_storage_type_name(LayoutName, yes, !IO),
 	io__write_string(" = {\n{\n", !IO),
-	output_proc_id(ClosureProcLabel, lambda(FileName, LineNumber), !IO),
+	output_proc_id(ClosureProcLabel, lambda(FileName, LineNumber, SeqNo),
+		!IO),
 	io__write_string("},\n", !IO),
 	mdbcomp__prim_data__sym_name_to_string(ModuleName, ModuleNameStr),
 	quote_and_write_string(ModuleNameStr, !IO),
@@ -1136,7 +1137,7 @@

 origin_name(Origin, Name0) = Name :-
 	(
-		Origin = lambda(FileName0, LineNum),
+		Origin = lambda(FileName0, LineNum, UniqueId),
 		( string__append("IntroducedFrom", _, Name0) ->
 			( string__remove_suffix(FileName0, ".m", FileName1) ->
 				FileName2 = FileName1
@@ -1144,8 +1145,8 @@
 				FileName2 = FileName0
 			),
 			string__replace_all(FileName2, ".", "_", FileName),
-			string__format("lambda_%s_%d",
-				[s(FileName), i(LineNum)], Name)
+			string__format("lambda_%d_%s_%d",
+				[i(UniqueId), s(FileName), i(LineNum)], Name)
 		;
 			% If the lambda pred has a meaningful name, use it.
 			% This happens when the lambda is a partial application
Index: tests/debugger/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/Mmakefile,v
retrieving revision 1.114
diff -u -r1.114 Mmakefile
--- tests/debugger/Mmakefile	11 May 2005 09:39:21 -0000	1.114
+++ tests/debugger/Mmakefile	23 May 2005 00:26:17 -0000
@@ -34,6 +34,7 @@
 	implied_instance		\
 	interpreter			\
 	label_layout			\
+	lambdatest			\
 	loopcheck			\
 	lval_desc_array			\
 	multi_parameter			\
@@ -364,6 +365,9 @@

 label_layout.out: label_layout label_layout.inp
 	$(MDB) ./label_layout < label_layout.inp > label_layout.out 2>&1
+
+lambdatest.out: lambdatest lambdatest.inp
+	$(MDB_STD) ./lambdatest < lambdatest.inp > lambdatest.out 2>&1

 loopcheck.out: loopcheck loopcheck.$(INP)
 	if $(MDB) ./loopcheck < loopcheck.$(INP)		\
Index: tests/debugger/higher_order.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/higher_order.exp,v
retrieving revision 1.6
diff -u -r1.6 higher_order.exp
--- tests/debugger/higher_order.exp	21 Jan 2005 06:20:54 -0000	1.6
+++ tests/debugger/higher_order.exp	23 May 2005 02:05:53 -0000
@@ -42,23 +42,23 @@
 mdb> step
       E8:     C5 CALL pred higher_order.domap/3-0 (det)
 mdb> print *
-       HeadVar__1             	lambda_higher_order_21([6])
+       HeadVar__1             	lambda_4_higher_order_21([6])
        HeadVar__2             	[[1, 2], [3, 4, 5]]
 mdb> finish
       E9:     C5 EXIT pred higher_order.domap/3-0 (det)
 mdb> print *
-       HeadVar__1             	lambda_higher_order_21([6])
+       HeadVar__1             	lambda_4_higher_order_21([6])
        HeadVar__2             	[[1, 2], [3, 4, 5]]
        HeadVar__3             	[[6, 1, 2], [6, 3, 4, 5]]
 mdb> step
      E10:     C6 CALL pred higher_order.domap/3-0 (det)
 mdb> print *
-       HeadVar__1             	lambda_higher_order_22(["a"])
+       HeadVar__1             	lambda_5_higher_order_22(["a"])
        HeadVar__2             	[["one", "two"], ["three", "four", "five"]]
 mdb> finish
      E11:     C6 EXIT pred higher_order.domap/3-0 (det)
 mdb> print *
-       HeadVar__1             	lambda_higher_order_22(["a"])
+       HeadVar__1             	lambda_5_higher_order_22(["a"])
        HeadVar__2             	[["one", "two"], ["three", "four", "five"]]
        HeadVar__3             	[["a", "one", "two"], ["a", "three", "four", "five"]]
 mdb> continue -S
Index: tests/debugger/lambda_expr.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/lambda_expr.exp,v
retrieving revision 1.3
diff -u -r1.3 lambda_expr.exp
--- tests/debugger/lambda_expr.exp	21 Jan 2005 06:20:54 -0000	1.3
+++ tests/debugger/lambda_expr.exp	23 May 2005 02:08:51 -0000
@@ -5,24 +5,24 @@
 Contexts will not be printed.
 mdb> register --quiet
 mdb> step
-      E2:     C2 CALL pred lambda_expr.lambda_lambda_expr_18/2-0 (det)
+      E2:     C2 CALL pred lambda_expr.lambda_1_lambda_expr_18/2-0 (det)
 mdb> print
-lambda_lambda_expr_18(1, _)
+lambda_1_lambda_expr_18(1, _)
 mdb> up
 Ancestor level set to 1:
    1  pred lambda_expr.main/2-0 (det)
 mdb> print P
-       P                      	lambda_lambda_expr_18
+       P                      	lambda_1_lambda_expr_18
 mdb> finish ; print
-      E3:     C2 EXIT pred lambda_expr.lambda_lambda_expr_18/2-0 (det)
-lambda_lambda_expr_18(1, 2)
+      E3:     C2 EXIT pred lambda_expr.lambda_1_lambda_expr_18/2-0 (det)
+lambda_1_lambda_expr_18(1, 2)
 mdb> retry
-      E2:     C2 CALL pred lambda_expr.lambda_lambda_expr_18/2-0 (det)
+      E2:     C2 CALL pred lambda_expr.lambda_1_lambda_expr_18/2-0 (det)
 mdb> print
-lambda_lambda_expr_18(1, _)
+lambda_1_lambda_expr_18(1, _)
 mdb> finish
-      E3:     C2 EXIT pred lambda_expr.lambda_lambda_expr_18/2-0 (det)
+      E3:     C2 EXIT pred lambda_expr.lambda_1_lambda_expr_18/2-0 (det)
 mdb> print
-lambda_lambda_expr_18(1, 2)
+lambda_1_lambda_expr_18(1, 2)
 mdb> continue
 2
Index: tests/debugger/lambdatest.exp
===================================================================
RCS file: tests/debugger/lambdatest.exp
diff -N tests/debugger/lambdatest.exp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ tests/debugger/lambdatest.exp	23 May 2005 02:08:01 -0000
@@ -0,0 +1,11 @@
+      E1:     C1 CALL pred lambdatest.main/2-0 (det) lambdatest.m:13
+mdb> mdb> echo on
+Command echo enabled.
+mdb> procedures lambdatest
+List of procedures in module `lambdatest'
+
+func lambdatest.lambda_2_lambdatest_14/1-0 (det)
+func lambdatest.lambda_1_lambdatest_14/1-0 (det)
+func lambdatest.polycall/2-0 (det)
+pred lambdatest.main/2-0 (det)
+mdb> quit -y
Index: tests/debugger/lambdatest.inp
===================================================================
RCS file: tests/debugger/lambdatest.inp
diff -N tests/debugger/lambdatest.inp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ tests/debugger/lambdatest.inp	23 May 2005 00:24:55 -0000
@@ -0,0 +1,4 @@
+register --quiet
+echo on
+procedures lambdatest
+quit -y
Index: tests/debugger/lambdatest.m
===================================================================
RCS file: tests/debugger/lambdatest.m
diff -N tests/debugger/lambdatest.m
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ tests/debugger/lambdatest.m	23 May 2005 00:21:15 -0000
@@ -0,0 +1,22 @@
+:- module lambdatest.
+
+:- interface.
+
+:- import_module io.
+
+:- pred main(io::di, io::uo) is det.
+
+:- implementation.
+
+:- import_module int.
+
+main(!IO) :-
+	Z = polycall(
+		(func(X) = X + 1),
+		(func(Y) = Y + 2)),
+	io.write_int(Z, !IO),
+	nl(!IO).
+
+:- func polycall(func(int) = int, func(int) = int) = int.
+
+polycall(F, G) = F(1) + G(2).
Index: tests/debugger/declarative/find_origin.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/find_origin.exp,v
retrieving revision 1.6
diff -u -r1.6 find_origin.exp
--- tests/debugger/declarative/find_origin.exp	20 May 2005 05:40:24 -0000	1.6
+++ tests/debugger/declarative/find_origin.exp	23 May 2005 09:40:41 -0000
@@ -12,16 +12,16 @@
 browser> mark
 monotest4(t(101), t(101))
 Valid? n
-Call lambda_find_origin_86(t(101), t(3))
+Call lambda_1_find_origin_86(t(101), t(3))
 Unsatisfiable? y
-lambda_find_origin_86(t(101), t(101))
+lambda_1_find_origin_86(t(101), t(101))
 Valid? y
-Call lambda_find_origin_86(t(101), t(2))
+Call lambda_1_find_origin_86(t(101), t(2))
 Unsatisfiable? y
-Call lambda_find_origin_86(t(101), t(1))
+Call lambda_1_find_origin_86(t(101), t(1))
 Unsatisfiable? y
 Found incorrect contour:
-lambda_find_origin_86(t(101), t(101))
+lambda_1_find_origin_86(t(101), t(101))
 monotest4(t(101), t(101))
 Is this a bug? y
       E4:     C3 EXIT pred find_origin.monotest4/2-0 (det)
@@ -42,12 +42,12 @@
 find_origin.polytest4(u("hello"), u("hello"))
 browser> quit
 dd> no
-lambda_find_origin_148(u(string), u(u("hello")), u(u("hello")))
+lambda_2_find_origin_148(u(string), u(u("hello")), u(u("hello")))
 Valid? y
-Call lambda_find_origin_148(u(string), u(u("hello")), v(u("hello")))
+Call lambda_2_find_origin_148(u(string), u(u("hello")), v(u("hello")))
 Unsatisfiable? y
 Found incorrect contour:
-lambda_find_origin_148(u(string), u(u("hello")), u(u("hello")))
+lambda_2_find_origin_148(u(string), u(u("hello")), u(u("hello")))
 polytest4(u("hello"), u("hello"))
 Is this a bug? y
       E7:     C5 EXIT pred find_origin.polytest4/2-0 (det)
Index: tests/debugger/declarative/find_origin.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/find_origin.exp2,v
retrieving revision 1.6
diff -u -r1.6 find_origin.exp2
--- tests/debugger/declarative/find_origin.exp2	20 May 2005 05:40:24 -0000	1.6
+++ tests/debugger/declarative/find_origin.exp2	23 May 2005 12:06:40 -0000
@@ -12,16 +12,16 @@
 browser> mark
 monotest4(t(101), t(101))
 Valid? n
-Call lambda_find_origin_86(t(101), t(3))
+Call lambda_1_find_origin_86(t(101), t(3))
 Unsatisfiable? y
-lambda_find_origin_86(t(101), t(101))
+lambda_1_find_origin_86(t(101), t(101))
 Valid? y
-Call lambda_find_origin_86(t(101), t(2))
+Call lambda_1_find_origin_86(t(101), t(2))
 Unsatisfiable? y
-Call lambda_find_origin_86(t(101), t(1))
+Call lambda_1_find_origin_86(t(101), t(1))
 Unsatisfiable? y
 Found incorrect contour:
-filter(lambda_find_origin_86(t(101)), [t(1), t(2), t(101), t(3)], [t(101)])
+filter(lambda_1_find_origin_86(t(101)), [t(1), t(2), t(101), t(3)], [t(101)])
 monotest4(t(101), t(101))
 Is this a bug? y
       E4:     C3 EXIT pred find_origin.monotest4/2-0 (det)
@@ -42,12 +42,12 @@
 find_origin.polytest4(u("hello"), u("hello"))
 browser> quit
 dd> no
-lambda_find_origin_148(u(string), u(u("hello")), u(u("hello")))
+lambda_2_find_origin_148(u(string), u(u("hello")), u(u("hello")))
 Valid? y
-Call lambda_find_origin_148(u(string), u(u("hello")), v(u("hello")))
+Call lambda_2_find_origin_148(u(string), u(u("hello")), v(u("hello")))
 Unsatisfiable? y
 Found incorrect contour:
-filter(lambda_find_origin_148(u(string), u(u/1)), [v(u/1), v(u/1), v(u/1), u(u/1)], [u/1])
+filter(lambda_1_find_origin_148(u(string), u(u/1)), [v(u/1), v(u/1), v(u/1), u(u/1)], [u/1])
 polytest4(u("hello"), u("hello"))
 Is this a bug? y
       E7:     C5 EXIT pred find_origin.polytest4/2-0 (det)
Index: tests/debugger/declarative/higher_order.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/higher_order.exp,v
retrieving revision 1.5
diff -u -r1.5 higher_order.exp
--- tests/debugger/declarative/higher_order.exp	20 May 2005 05:40:25 -0000	1.5
+++ tests/debugger/declarative/higher_order.exp	23 May 2005 09:41:20 -0000
@@ -11,10 +11,10 @@
 mdb> dd -d 3 -n 7
 p(3, 81)
 Valid? no
-q(lambda_higher_order_16, 3, 81)
+q(lambda_1_higher_order_16, 3, 81)
 Valid? yes
 Found incorrect contour:
-q(lambda_higher_order_16, 3, 81)
+q(lambda_1_higher_order_16, 3, 81)
 p(3, 81)
 Is this a bug? yes
        7:      2  2 EXIT pred higher_order.p/2-0 (det) higher_order.m:15 (higher_order.m:9)
Index: tests/debugger/declarative/higher_order.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/higher_order.exp2,v
retrieving revision 1.4
diff -u -r1.4 higher_order.exp2
--- tests/debugger/declarative/higher_order.exp2	20 May 2005 05:40:25 -0000	1.4
+++ tests/debugger/declarative/higher_order.exp2	23 May 2005 02:09:24 -0000
@@ -11,10 +11,10 @@
 mdb> dd -d 3 -n 7
 p(3, 81)
 Valid? no
-q(lambda_higher_order_16, 3, 81)
+q(lambda_1_higher_order_16, 3, 81)
 Valid? yes
 Found incorrect contour:
-q(lambda_higher_order_16, 3, 81)
+q(lambda_1_higher_order_16, 3, 81)
 p(3, 81)
 Is this a bug? yes
       11:      2  2 EXIT pred higher_order.p/2-0 (det) higher_order.m:15 (higher_order.m:9)
Index: tests/debugger/declarative/ho2.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/ho2.exp,v
retrieving revision 1.5
diff -u -r1.5 ho2.exp
--- tests/debugger/declarative/ho2.exp	20 May 2005 05:40:25 -0000	1.5
+++ tests/debugger/declarative/ho2.exp	23 May 2005 09:41:47 -0000
@@ -11,10 +11,10 @@
 mdb> dd -d 3 -n 7
 p(0, 3, 27)
 Valid? no
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 Valid? yes
 Found incorrect contour:
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 p(0, 3, 27)
 Is this a bug? yes
        7:      2  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:9)
@@ -26,7 +26,7 @@
 p(1, 3, 27)
 Valid? no
 Found incorrect contour:
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 p(1, 3, 27)
 Is this a bug? yes
       13:      5  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:10)
@@ -37,10 +37,10 @@
 mdb> dd -d 3 -n 7
 p(2, 4, 64)
 Valid? no
-q(lambda_ho2_22(4), 4, 64)
+q(lambda_1_ho2_22(4), 4, 64)
 Valid? yes
 Found incorrect contour:
-q(lambda_ho2_22(4), 4, 64)
+q(lambda_1_ho2_22(4), 4, 64)
 p(2, 4, 64)
 Is this a bug? yes
       19:      8  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:11)
Index: tests/debugger/declarative/ho2.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/ho2.exp2,v
retrieving revision 1.4
diff -u -r1.4 ho2.exp2
--- tests/debugger/declarative/ho2.exp2	20 May 2005 05:40:25 -0000	1.4
+++ tests/debugger/declarative/ho2.exp2	23 May 2005 02:09:55 -0000
@@ -11,10 +11,10 @@
 mdb> dd -d 3 -n 7
 p(0, 3, 27)
 Valid? no
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 Valid? yes
 Found incorrect contour:
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 p(0, 3, 27)
 Is this a bug? yes
       11:      2  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:9)
@@ -26,7 +26,7 @@
 p(1, 3, 27)
 Valid? no
 Found incorrect contour:
-q(lambda_ho2_22(3), 3, 27)
+q(lambda_1_ho2_22(3), 3, 27)
 p(1, 3, 27)
 Is this a bug? yes
       21:      7  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:10)
@@ -37,10 +37,10 @@
 mdb> dd -d 3 -n 7
 p(2, 4, 64)
 Valid? no
-q(lambda_ho2_22(4), 4, 64)
+q(lambda_1_ho2_22(4), 4, 64)
 Valid? yes
 Found incorrect contour:
-q(lambda_ho2_22(4), 4, 64)
+q(lambda_1_ho2_22(4), 4, 64)
 p(2, 4, 64)
 Is this a bug? yes
       31:     12  2 EXIT pred ho2.p/3-0 (det) ho2.m:21 (ho2.m:11)
Index: tests/debugger/declarative/trust.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/declarative/trust.exp,v
retrieving revision 1.10
diff -u -r1.10 trust.exp
--- tests/debugger/declarative/trust.exp	20 May 2005 05:40:30 -0000	1.10
+++ tests/debugger/declarative/trust.exp	23 May 2005 02:10:24 -0000
@@ -4,20 +4,20 @@
 Command echo enabled.
 mdb> trust trust_1.
 Ambiguous predicate or function specification. The matches are:
-0: pred trust_1.lambda_trust_1_15/3
+0: pred trust_1.lambda_1_trust_1_15/3
 1: pred trust_1.w_cmp/3

 Which predicate or function do you want to trust (0-1 or *)? *
-Trusting pred trust_1.lambda_trust_1_15/3
+Trusting pred trust_1.lambda_1_trust_1_15/3
 Trusting pred trust_1.w_cmp/3
 mdb> trusted
 Trusted Objects:
-1: predicate trust_1.lambda_trust_1_15/3
+1: predicate trust_1.lambda_1_trust_1_15/3
 2: predicate trust_1.w_cmp/3
 mdb> untrust 2
 mdb> trusted
 Trusted Objects:
-1: predicate trust_1.lambda_trust_1_15/3
+1: predicate trust_1.lambda_1_trust_1_15/3
 mdb> untrust 1
 mdb> trusted
 There are no trusted modules, predicates or functions.
@@ -80,7 +80,7 @@
 Valid? trust
 concat(w("aaa"), w("bbb"), w("aaabbb"))
 Valid? trust module
-lambda_trust_1_15(w("aaB"), w("aAB"), '=')
+lambda_1_trust_1_15(w("aaB"), w("aAB"), '=')
 Valid? trust module
 Found incorrect contour:
 w_cmp('=', w("aaB"), w("aAB"))
Index: tests/hard_coded/deconstruct_arg.exp
===================================================================
RCS file: /home/mercury1/repository/tests/hard_coded/deconstruct_arg.exp,v
retrieving revision 1.6
diff -u -r1.6 deconstruct_arg.exp
--- tests/hard_coded/deconstruct_arg.exp	21 Jan 2005 06:21:00 -0000	1.6
+++ tests/hard_coded/deconstruct_arg.exp	23 May 2005 02:11:10 -0000
@@ -220,7 +220,7 @@
 functor newline arity 0 []

 std_util    functor: <<predicate>>/0
-deconstruct functor: lambda_deconstruct_arg_85/1
+deconstruct functor: lambda_2_deconstruct_arg_85/1
 std_util    argument 0 of '<<predicate>>' doesn't exist
 deconstruct argument 0 of '<<predicate>>' is [1, 2]
 std_util    argument 1 of '<<predicate>>' doesn't exist
@@ -229,12 +229,12 @@
 deconstruct argument 2 of '<<predicate>>' doesn't exist
 std_util    deconstruct: functor <<predicate>> arity 0
 []
-deconstruct deconstruct: functor lambda_deconstruct_arg_85 arity 1
+deconstruct deconstruct: functor lambda_2_deconstruct_arg_85 arity 1
 [[1, 2]]
 std_util    limited deconstruct 3 of '<<predicate>>'
 functor <<predicate>> arity 0 []
 deconstruct limited deconstruct 3 of '<<predicate>>'
-functor lambda_deconstruct_arg_85 arity 1 [[1, 2]]
+functor lambda_2_deconstruct_arg_85 arity 1 [[1, 2]]

 std_util    functor: {}/2
 deconstruct functor: {}/2

--------------------------------------------------------------------------
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