[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