[m-dev.] for review: Aditi updates round 2 [2]
Simon Taylor
stayl at cs.mu.OZ.AU
Fri Jul 2 15:16:48 AEST 1999
--- tests/invalid/aditi.m 1999/07/02 05:08:09 1.2
+++ tests/invalid/aditi.m 1999/07/02 05:08:22
@@ -1,3 +1,5 @@
+% Cut down version of extras/aditi/aditi.m containing
+% declarations used by other tests.
:- module aditi.
:- interface.
--- tests/invalid/aditi_update_errors.m 1999/07/02 02:17:52 1.2
+++ tests/invalid/aditi_update_errors.m 1999/07/02 02:06:16
@@ -7,6 +7,9 @@
:- pred aditi_update_syntax(aditi__state::aditi_di,
aditi__state::aditi_uo) is det.
+:- pred aditi_update_derived_relation(aditi__state::aditi_di,
+ aditi__state::aditi_uo) is det.
+
:- pred aditi_update_types(aditi__state::aditi_di,
aditi__state::aditi_uo) is det.
@@ -47,6 +50,9 @@
:- func q(aditi__state::aditi_ui, int::out) = (int::out) is nondet.
:- pragma base_relation(q/2).
+:- pred anc(aditi__state::aditi_ui, int::out, int::out) is nondet.
+:- pragma aditi(anc/3).
+
aditi_update_syntax -->
X = p(_, 1, 2),
aditi_insert(X),
@@ -87,9 +93,9 @@
aditi_bulk_delete(q/2, InsertQ),
aditi_bulk_delete(func q/2, InsertQ, foo),
- aditi_modify(p(_, X0, Y0) = p(_, X0 + 1, Y0 + 1)),
- aditi_modify((q(_, X0) = Y0) = (q(_, X0 + 1) = (Y0 + 1))),
- aditi_modify(q(_, _X0) = _Y0),
+ aditi_modify(p(_, X0, Y0) ==> p(_, X0 + 1, Y0 + 1)),
+ aditi_modify((q(_, X0) = Y0) ==> (q(_, X0 + 1) = (Y0 + 1))),
+ aditi_modify(q(_, _X0) ==> _Y0),
{ ModifyP =
(aditi_top_down pred(_::unused, X0::in, Y0::in,
@@ -111,6 +117,9 @@
aditi_modify(q/2, ModifyQ),
aditi_modify(func q/2, ModifyQ, foo).
+aditi_update_derived_relation -->
+ aditi_insert(anc(_, 1, 2)).
+
aditi_update_types -->
aditi_insert(p(_, 1)),
aditi_insert(q(_, 1)),
@@ -170,9 +179,9 @@
aditi_bulk_insert(pred q/2, InsertQ),
aditi_bulk_delete(func q/2, InsertQ),
- aditi_modify(p(X0, Y0, _) = p(X0 + 1, Y0 + 1, _)),
- aditi_modify((q(_) = Y0) = (q(_) = (Y0 + 1))),
- aditi_modify(q(_, X0, Y0) = q(_, X0 + 1, Y0 + 1)),
+ aditi_modify(p(X0, Y0, _) ==> p(X0 + 1, Y0 + 1, _)),
+ aditi_modify((q(_) = Y0) ==> (q(_) = (Y0 + 1))),
+ aditi_modify(q(_, X0, Y0) ==> q(_, X0 + 1, Y0 + 1)),
{ ModifyP =
(aditi_top_down pred(_::unused, X0::in, Y0::in,
@@ -243,10 +252,10 @@
aditi_bulk_delete(func q/2, InsertQ).
aditi_update_modes10 -->
- aditi_modify(p(_, _X0, Y0) = p(_, X0 + 1, Y0 + 1)).
+ aditi_modify(p(_, _X0, Y0) ==> p(_, X0 + 1, Y0 + 1)).
aditi_update_modes11 -->
- aditi_modify((q(_, _X0) = Y0) = (q(_, X0 + 1) = (Y0 + 1))).
+ aditi_modify((q(_, _X0) = Y0) ==> (q(_, X0 + 1) = (Y0 + 1))).
aditi_update_modes12 -->
{ ModifyP =
--- tests/invalid/ho_type_mode_bug.err_exp 1999/07/02 01:40:42 1.2
+++ tests/invalid/ho_type_mode_bug.err_exp 1999/07/02 01:45:45
@@ -1,9 +1,9 @@
ho_type_mode_bug.m:025: In clause for `my_foldl2((pred(in, in, out) is det), in, in, out, in, out)':
-ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of call to predicate `call/6':
+ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of higher-order predicate call:
ho_type_mode_bug.m:025: mode error: variable `P' has instantiatedness `(pred(in, in, out) is det)',
ho_type_mode_bug.m:025: expecting higher-order pred inst (of arity 5).
ho_type_mode_bug.m:025: In clause for `my_foldl2((pred(in, in, out) is det), in, in, out, di, uo)':
-ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of call to predicate `call/6':
+ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of higher-order predicate call:
ho_type_mode_bug.m:025: mode error: variable `P' has instantiatedness `(pred(in, in, out) is det)',
ho_type_mode_bug.m:025: expecting higher-order pred inst (of arity 5).
For more information, try recompiling with `-E'.
tests/invalid/aditi_update_errors.err_exp:
==========================================
aditi_update_errors.m:118: Error: wrong number of arguments (5; should be 3 or 4)
aditi_update_errors.m:118: in call to `aditi_modify'.
aditi_update_errors.m:117: Error: expected
aditi_update_errors.m:117: `aditi_modify(
aditi_update_errors.m:117: (p(<Args0>) ==> p(<Args>) :- <Goal>),
aditi_update_errors.m:117: DB0, DB)'
aditi_update_errors.m:117: or `aditi_modify(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:108: Error: wrong number of arguments (5; should be 3 or 4)
aditi_update_errors.m:108: in call to `aditi_modify'.
aditi_update_errors.m:107: Error: expected
aditi_update_errors.m:107: `aditi_modify(
aditi_update_errors.m:107: (p(<Args0>) ==> p(<Args>) :- <Goal>),
aditi_update_errors.m:107: DB0, DB)'
aditi_update_errors.m:107: or `aditi_modify(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:098: Error: expected
aditi_update_errors.m:098: `aditi_modify(
aditi_update_errors.m:098: (p(<Args0>) ==> p(<Args>) :- <Goal>),
aditi_update_errors.m:098: DB0, DB)'
aditi_update_errors.m:098: or `aditi_modify(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:094: Error: wrong number of arguments (5; should be 4)
aditi_update_errors.m:094: in call to `aditi_bulk_delete'.
aditi_update_errors.m:093: Error: expected `PredOrFunc Name/Arity' in call to `aditi_bulk_delete'.
aditi_update_errors.m:084: Error: wrong number of arguments (5; should be 4)
aditi_update_errors.m:084: in call to `aditi_bulk_delete'.
aditi_update_errors.m:083: Error: expected `PredOrFunc Name/Arity' in call to `aditi_bulk_insert'.
aditi_update_errors.m:075: Error: expected `aditi_delete((p(<Args>) :- <Goal>), DB0, DB)'
aditi_update_errors.m:075: or `aditi_delete(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:070: Error: expected `aditi_delete((p(<Args>) :- <Goal>), DB0, DB)'
aditi_update_errors.m:070: or `aditi_delete(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:064: Error: expected `aditi_delete((p(<Args>) :- <Goal>), DB0, DB)'
aditi_update_errors.m:064: or `aditi_delete(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:063: Error: expected `aditi_delete((p(<Args>) :- <Goal>), DB0, DB)'
aditi_update_errors.m:063: or `aditi_delete(PredOrFunc p/N, Closure, DB0, DB)'.
aditi_update_errors.m:061: Error: wrong number of arguments (4; should be 3)
aditi_update_errors.m:061: in call to `aditi_insert'.
aditi_update_errors.m:060: Error: wrong number of arguments (4; should be 3)
aditi_update_errors.m:060: in call to `aditi_insert'.
aditi_update_errors.m:058: Error: expected tuple to insert in call to `aditi_insert'
aditi_update_errors.m:100: In clause for predicate `aditi_update_errors:aditi_update_syntax/2':
aditi_update_errors.m:100: warning: variable `X' has overlapping scopes.
aditi_update_errors.m:110: In clause for predicate `aditi_update_errors:aditi_update_syntax/2':
aditi_update_errors.m:110: warning: variable `X' has overlapping scopes.
aditi_update_errors.m:215: In clause for predicate `aditi_update_errors:aditi_update_modes4/2':
aditi_update_errors.m:215: warning: variable `X' occurs only once in this scope.
aditi_update_errors.m:218: In clause for predicate `aditi_update_errors:aditi_update_modes5/2':
aditi_update_errors.m:218: warning: variable `X' occurs only once in this scope.
aditi_update_errors.m:255: In clause for predicate `aditi_update_errors:aditi_update_modes10/2':
aditi_update_errors.m:255: warning: variable `X0' occurs only once in this scope.
aditi_update_errors.m:258: In clause for predicate `aditi_update_errors:aditi_update_modes11/2':
aditi_update_errors.m:258: warning: variable `X0' occurs only once in this scope.
aditi_update_errors.m:007: Error: no clauses for predicate `aditi_update_errors:aditi_update_syntax/2'
aditi_update_errors.m:124: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:124: error: wrong number of arguments (2; should be 3)
aditi_update_errors.m:124: in call to predicate `p'.
aditi_update_errors.m:125: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:125: error: undefined predicate `q/2'.
aditi_update_errors.m:125: (There is a *function* with that name, however.
aditi_update_errors.m:125: Perhaps you forgot to add ` = ...'?)
aditi_update_errors.m:126: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:126: error: wrong number of arguments (3; should be 4)
aditi_update_errors.m:126: in call to function `q'.
aditi_update_errors.m:127: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:127: in argument 2 of call to `aditi_insert' of predicate `p/3':
aditi_update_errors.m:127: type error: argument has type `int',
aditi_update_errors.m:127: expected type was `(aditi:state)'.
aditi_update_errors.m:129: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:129: in argument 2 of call to predicate `</2':
aditi_update_errors.m:129: type error: argument has type `float',
aditi_update_errors.m:129: expected type was `int'.
aditi_update_errors.m:130: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:130: in argument 2 of call to predicate `</2':
aditi_update_errors.m:130: type error: argument has type `float',
aditi_update_errors.m:130: expected type was `int'.
aditi_update_errors.m:132: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:132: in argument 2 of call to predicate `</2':
aditi_update_errors.m:132: type error: argument has type `float',
aditi_update_errors.m:132: expected type was `int'.
aditi_update_errors.m:132: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:132: error: wrong number of arguments (2; should be 3)
aditi_update_errors.m:132: in call to predicate `p'.
aditi_update_errors.m:133: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:133: error: wrong number of arguments (3; should be 4)
aditi_update_errors.m:133: in call to function `q'.
aditi_update_errors.m:139: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:139: in argument 2 of call to `aditi_delete' of predicate `p/3':
aditi_update_errors.m:139: type error: variable `DeleteP' has type `(aditi_top_down pred(V_10, int))',
aditi_update_errors.m:139: expected type was `(aditi_top_down pred((aditi:state), int, int))'.
aditi_update_errors.m:140: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:140: error: undefined predicate `q/2'.
aditi_update_errors.m:140: (There is a *function* with that name, however.
aditi_update_errors.m:140: Perhaps you forgot to add ` = ...'?)
aditi_update_errors.m:145: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:145: in argument 2 of call to `aditi_delete' of function `q/2':
aditi_update_errors.m:145: type error: variable `DeleteQ' has type `((aditi_top_down (func V_12)) = int)',
aditi_update_errors.m:145: expected type was `((aditi_top_down func((aditi:state), int)) = int)'.
aditi_update_errors.m:146: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:146: error: undefined function `p/3'.
aditi_update_errors.m:146: (There is a *predicate* with that name, however.)
aditi_update_errors.m:151: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:151: in argument 2 of call to `aditi_delete' of function `q/2':
aditi_update_errors.m:151: type error: variable `DeleteQ2' has type `((func V_14) = int)',
aditi_update_errors.m:151: expected type was `((aditi_top_down func((aditi:state), int)) = int)'.
aditi_update_errors.m:159: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:159: error: wrong number of arguments (4; should be 3)
aditi_update_errors.m:159: in call to predicate `p'.
aditi_update_errors.m:160: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:160: in argument 2 of call to `aditi_bulk_insert' of predicate `p/3':
aditi_update_errors.m:160: type error: variable `InsertP' has type `(aditi_bottom_up pred(V_16, int, float))',
aditi_update_errors.m:160: expected type was `(aditi_bottom_up pred((aditi:state), int, int))'.
aditi_update_errors.m:161: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:161: error: undefined predicate `q/2'.
aditi_update_errors.m:161: (There is a *function* with that name, however.
aditi_update_errors.m:161: Perhaps you forgot to add ` = ...'?)
aditi_update_errors.m:169: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:169: in argument 2 of call to `aditi_bulk_insert' of predicate `p/3':
aditi_update_errors.m:169: type error: variable `InsertP2' has type `pred(V_19, int, float)',
aditi_update_errors.m:169: expected type was `(aditi_bottom_up pred((aditi:state), int, int))'.
aditi_update_errors.m:179: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:179: error: undefined predicate `q/2'.
aditi_update_errors.m:179: (There is a *function* with that name, however.
aditi_update_errors.m:179: Perhaps you forgot to add ` = ...'?)
aditi_update_errors.m:182: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:182: in argument 1 of call to `aditi_modify' of predicate `p/3':
aditi_update_errors.m:182: type error: argument has type `(aditi_top_down pred(int, int, V_27, int, int, V_30))',
aditi_update_errors.m:182: expected type was `(aditi_top_down pred((aditi:state), int, int, (aditi:state), int, int))'.
aditi_update_errors.m:183: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:183: error: wrong number of arguments (3; should be 4)
aditi_update_errors.m:183: in call to function `q'.
aditi_update_errors.m:184: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:184: error: undefined predicate `q/3'.
aditi_update_errors.m:184: (There is a *function* with that name, however.
aditi_update_errors.m:184: Perhaps you forgot to add ` = ...'?)
aditi_update_errors.m:190: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:190: in unification of variable `X'
aditi_update_errors.m:190: and term `(X0 + Y0)':
aditi_update_errors.m:190: type error in argument(s) of functor `+/2'.
aditi_update_errors.m:190: Argument 1 (X0) has type `float',
aditi_update_errors.m:190: expected type was `int';
aditi_update_errors.m:190: argument 2 (Y0) has type `V_43',
aditi_update_errors.m:190: expected type was `int'.
aditi_update_errors.m:191: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:191: in unification of variable `Y'
aditi_update_errors.m:191: and term `(X0 - Y0)':
aditi_update_errors.m:191: type error in argument(s) of functor `-/2'.
aditi_update_errors.m:191: Argument 1 (X0) has type `float',
aditi_update_errors.m:191: expected type was `int';
aditi_update_errors.m:191: argument 2 (Y0) has type `V_43',
aditi_update_errors.m:191: expected type was `int'.
aditi_update_errors.m:193: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:193: in argument 2 of call to `aditi_modify' of predicate `p/3':
aditi_update_errors.m:193: type error: variable `ModifyP' has type `(aditi_top_down pred(V_41, float, V_43, V_44, V_45, V_46))',
aditi_update_errors.m:193: expected type was `(aditi_top_down pred((aditi:state), int, int, (aditi:state), int, int))'.
aditi_update_errors.m:202: In clause for predicate `aditi_update_errors:aditi_update_types/2':
aditi_update_errors.m:202: in argument 2 of call to `aditi_modify' of function `q/2':
aditi_update_errors.m:202: type error: variable `ModifyQ' has type `((aditi_top_down func(V_47, int, int, V_50, int)) = int)',
aditi_update_errors.m:202: expected type was `(aditi_top_down pred((aditi:state), int, int, (aditi:state), int, int))'.
aditi_update_errors.m:053: Error: no clauses for predicate `aditi_update_errors:anc/3'
aditi_update_errors.m:121: In call to `aditi_insert' of predicate `anc/3':
aditi_update_errors.m:121: the modified predicate is not a base relation.
aditi_update_errors.m:206: In clause for `aditi_update_modes1((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:206: in argument 2 of the inserted tuple of call to `aditi_insert' of predicate `p/3':
aditi_update_errors.m:206: mode error: variable `V_4' has instantiatedness `free',
aditi_update_errors.m:206: expected instantiatedness was `ground'.
aditi_update_errors.m:209: In clause for `aditi_update_modes2((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:209: in argument 2 of the inserted tuple of call to `aditi_insert' of function `q/2':
aditi_update_errors.m:209: mode error: variable `V_4' has instantiatedness `free',
aditi_update_errors.m:209: expected instantiatedness was `ground'.
aditi_update_errors.m:212: In clause for `aditi_update_modes3((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:212: in argument 2 of call to `aditi_insert' of predicate `p/3':
aditi_update_errors.m:212: mode error: variable `V_4' has instantiatedness `free',
aditi_update_errors.m:212: expected instantiatedness was `ground'.
aditi_update_errors.m:215: In clause for `aditi_update_modes4((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:215: in argument 1 of call to predicate `int:</2':
aditi_update_errors.m:215: mode error: variable `X' has instantiatedness `free',
aditi_update_errors.m:215: expected instantiatedness was `ground'.
aditi_update_errors.m:218: In clause for `aditi_update_modes5((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:218: in argument 1 of call to predicate `int:</2':
aditi_update_errors.m:218: mode error: variable `X' has instantiatedness `free',
aditi_update_errors.m:218: expected instantiatedness was `ground'.
aditi_update_errors.m:225: In clause for `aditi_update_modes6((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:225: in argument 2 of call to `aditi_delete' of predicate `p/3':
aditi_update_errors.m:225: mode error: variable `DeleteP' has instantiatedness `/* unique */(pred((free -> free), (free -> ground), (ground -> ground)) is semidet)',
aditi_update_errors.m:225: expected instantiatedness was `(pred(unused, in, in) is semidet)'.
aditi_update_errors.m:231: In clause for `aditi_update_modes7((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:231: in argument 2 of call to `aditi_delete' of function `q/2':
aditi_update_errors.m:231: mode error: variable `DeleteQ' has instantiatedness `/* unique */(func((free -> free), (free -> ground)) = (ground -> ground) is semidet)',
aditi_update_errors.m:231: expected instantiatedness was `(func(unused, in) = in is semidet)'.
aditi_update_errors.m:240: In clause for `aditi_update_modes8((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:240: in argument 2 of call to `aditi_bulk_insert' of predicate `p/3':
aditi_update_errors.m:240: mode error: variable `InsertP' has instantiatedness `/* unique */(pred((ground -> ground), (ground -> ground), (free -> ground)) is nondet)',
aditi_update_errors.m:240: expected instantiatedness was `(pred(in, out, out) is nondet)'.
aditi_update_errors.m:251: In clause for `aditi_update_modes9((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:251: in argument 2 of call to `aditi_bulk_insert' of function `q/2':
aditi_update_errors.m:251: mode error: variable `InsertQ' has instantiatedness `/* unique */(func((ground -> ground), (ground -> ground)) = (free -> ground) is nondet)',
aditi_update_errors.m:251: expected instantiatedness was `(func(in, out) = out is nondet)'.
aditi_update_errors.m:255: In clause for `aditi_update_modes10((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:255: in call to function `int:+/2':
aditi_update_errors.m:255: mode error: arguments `X0, V_12, V_10'
aditi_update_errors.m:255: have insts `free, unique(1), free',
aditi_update_errors.m:255: which does not match any of the modes for function `int:+/2'.
aditi_update_errors.m:258: In clause for `aditi_update_modes11((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:258: in call to function `int:+/2':
aditi_update_errors.m:258: mode error: arguments `X0, V_12, V_10'
aditi_update_errors.m:258: have insts `free, unique(1), free',
aditi_update_errors.m:258: which does not match any of the modes for function `int:+/2'.
aditi_update_errors.m:268: In clause for `aditi_update_modes12((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:268: in argument 2 of call to `aditi_delete' of predicate `p/3':
aditi_update_errors.m:268: mode error: variable `ModifyP' has instantiatedness `/* unique */(pred((free -> free), (free -> ground), (free -> ground), (free -> free), (ground -> ground), (ground -> ground)) is semidet)',
aditi_update_errors.m:268: expected instantiatedness was `(pred(unused, in, in, unused, out, out) is semidet)'.
aditi_update_errors.m:278: In clause for `aditi_update_modes13((aditi:aditi_di), (aditi:aditi_uo))':
aditi_update_errors.m:278: in argument 2 of call to `aditi_delete' of function `q/2':
aditi_update_errors.m:278: mode error: variable `ModifyQ' has instantiatedness `/* unique */(pred((free -> free), (ground -> ground), (ground -> ground), (free -> free), (ground -> ground), (ground -> ground)) is semidet)',
aditi_update_errors.m:278: expected instantiatedness was `(pred(unused, in, in, unused, out, out) is semidet)'.
For more information, try recompiling with `-E'.
--- tests/valid/aditi.m 1999/07/02 05:08:52 1.2
+++ tests/valid/aditi.m 1999/07/02 05:08:59
@@ -1,3 +1,5 @@
+% Cut down version of extras/aditi/aditi.m containing
+% declarations used by other tests.
:- module aditi.
:- interface.
--------------------------------------------------------------------------
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