[m-dev.] for review: fix quantification of "<=>" [2/2]

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Oct 25 01:56:43 AEST 1999


[continued from part 1]

The remainder of this diff is very boring.
It consists entirely of places where I have added
calls to error/1 for the new HLDS goal bi_implication/2.

====================

Index: compiler/bytecode_gen.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/bytecode_gen.m,v
retrieving revision 1.45
diff -u -d -r1.45 bytecode_gen.m
--- compiler/bytecode_gen.m	1999/07/13 08:52:41	1.45
+++ compiler/bytecode_gen.m	1999/10/21 11:00:32
@@ -252,6 +252,10 @@
 		GoalExpr = pragma_c_code(_, _, _, _, _, _, _),
 		Code = node([not_supported]),
 		ByteInfo = ByteInfo0
+	;
+		GoalExpr = bi_implication(_, _),
+		% these should have been expanded out by now
+		error("bytecode_gen__goal_expr: unexpected bi_implication")
 	).
 
 %---------------------------------------------------------------------------%
Index: compiler/code_gen.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/code_gen.m,v
retrieving revision 1.67
diff -u -d -r1.67 code_gen.m
--- compiler/code_gen.m	1999/10/08 02:55:21	1.67
+++ compiler/code_gen.m	1999/10/21 11:01:18
@@ -890,6 +890,9 @@
 	pragma_c_gen__generate_pragma_c_code(CodeModel, Attributes,
 		PredId, ModeId, Args, ArgNames, OrigArgTypes, GoalInfo,
 		PragmaCode, Instr).
+code_gen__generate_goal_2(bi_implication(_, _), _, _, _) -->
+	% these should have been expanded out by now
+	{ error("code_gen__generate_goal_2: unexpected bi_implication") }.
 
 %---------------------------------------------------------------------------%
 
Index: compiler/code_util.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/code_util.m,v
retrieving revision 1.112
diff -u -d -r1.112 code_util.m
--- compiler/code_util.m	1999/09/17 16:22:12	1.112
+++ compiler/code_util.m	1999/10/21 11:02:54
@@ -864,6 +864,10 @@
 	CTMax is CMax + TMax,
 	int__min(CTMin, EMin, Min),
 	int__max(CTMax, EMax, Max).
+code_util__count_recursive_calls_2(bi_implication(_, _),
+		_, _, _, _) :-
+	% these should have been expanded out by now
+	error("code_util__count_recursive_calls_2: unexpected bi_implication").
 
 :- pred code_util__count_recursive_calls_conj(list(hlds_goal),
 	pred_id, proc_id, int, int, int, int).
Index: compiler/cse_detection.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/cse_detection.m,v
retrieving revision 1.57
diff -u -d -r1.57 cse_detection.m
--- compiler/cse_detection.m	1999/07/13 08:52:45	1.57
+++ compiler/cse_detection.m	1999/10/21 13:49:04
@@ -274,6 +274,10 @@
 	detect_cse_in_ite(NonLocalsList, Vars, Cond0, Then0, Else0, GoalInfo,
 		SM, InstMap, CseInfo0, CseInfo, Redo, Goal).
 
+detect_cse_in_goal_2(bi_implication(_, _), _, _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("detect_cse_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred detect_cse_in_conj(list(hlds_goal), instmap, cse_info, cse_info,
Index: compiler/dead_proc_elim.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/dead_proc_elim.m,v
retrieving revision 1.49
diff -u -d -r1.49 dead_proc_elim.m
--- compiler/dead_proc_elim.m	1999/09/12 04:26:38	1.49
+++ compiler/dead_proc_elim.m	1999/10/21 11:06:18
@@ -485,6 +485,9 @@
 		Queue = Queue0,
 		Needed = Needed0
 	).
+dead_proc_elim__examine_expr(bi_implication(_,_), _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("detect_cse_in_goal_2: unexpected bi_implication").
 
 %-----------------------------------------------------------------------------%
 
@@ -831,6 +834,9 @@
 pre_modecheck_examine_goal(pragma_c_code(_, _, _, _, _, _, _) - _) --> [].
 pre_modecheck_examine_goal(unify(_, Rhs, _, _, _) - _) -->
 	pre_modecheck_examine_unify_rhs(Rhs).
+pre_modecheck_examine_goal(bi_implication(_, _) - _) -->
+	% these should have been expanded out by now
+	{ error("pre_modecheck_examine_goal: unexpected bi_implication") }.
 
 :- pred pre_modecheck_examine_unify_rhs(unify_rhs::in, 
 		dead_pred_info::in, dead_pred_info::out) is det.
Index: compiler/deforest.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/deforest.m,v
retrieving revision 1.11
diff -u -d -r1.11 deforest.m
--- compiler/deforest.m	1999/10/15 03:44:43	1.11
+++ compiler/deforest.m	1999/10/21 13:49:24
@@ -219,6 +219,10 @@
 deforest__goal(Goal, Goal) -->
 	{ Goal = unify(_, _, _, _, _) - _ }.
 
+deforest__goal(bi_implication(_, _) - _, _) -->
+	% these should have been expanded out by now
+	{ error("deforest__goal: unexpected bi_implication") }.
+
 %-----------------------------------------------------------------------------%
 
 :- pred deforest__disj(list(hlds_goal)::in, list(hlds_goal)::out,
Index: compiler/det_analysis.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/det_analysis.m,v
retrieving revision 1.143
diff -u -d -r1.143 det_analysis.m
--- compiler/det_analysis.m	1999/10/03 04:15:20	1.143
+++ compiler/det_analysis.m	1999/10/21 11:09:16
@@ -676,6 +676,10 @@
 		Detism = erroneous
 	).
 
+det_infer_goal_2(bi_implication(_, _), _, _, _, _, _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("det_infer_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred det_infer_conj(list(hlds_goal), instmap, soln_context, det_info,
Index: compiler/det_report.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/det_report.m,v
retrieving revision 1.57
diff -u -d -r1.57 det_report.m
--- compiler/det_report.m	1999/07/13 08:52:48	1.57
+++ compiler/det_report.m	1999/10/21 11:09:58
@@ -621,6 +621,10 @@
 	% prog_out__write_context(Context),
 	% io__write_string("  for modes which don't succeed more than once.\n").
 
+det_diagnose_goal_2(bi_implication(_, _), _, _, _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("det_diagnose_goal_2: unexpected bi_implication") }.
+
 %-----------------------------------------------------------------------------%
 
 :- pred report_generic_call_context(prog_context::in,
Index: compiler/excess.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/excess.m,v
retrieving revision 1.31
diff -u -d -r1.31 excess.m
--- compiler/excess.m	1999/07/13 08:52:52	1.31
+++ compiler/excess.m	1999/10/21 13:50:22
@@ -43,7 +43,7 @@
 :- implementation.
 
 :- import_module hlds_goal, goal_util, prog_data, varset, term.
-:- import_module list, bool, map, set, std_util.
+:- import_module list, bool, map, set, std_util, require.
 
 %-----------------------------------------------------------------------------%
 
@@ -137,6 +137,10 @@
 		GoalExpr0 = pragma_c_code(_, _, _, _, _, _, _),
 		Goal = GoalExpr0 - GoalInfo0,
 		ElimVars = ElimVars0
+	;
+		GoalExpr0 = bi_implication(_, _),
+		% these should have been expanded out by now
+		error("detect_cse_in_goal_2: unexpected bi_implication")
 	),
 	!.
 
Index: compiler/follow_code.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/follow_code.m,v
retrieving revision 1.53
diff -u -d -r1.53 follow_code.m
--- compiler/follow_code.m	1999/10/15 03:44:43	1.53
+++ compiler/follow_code.m	1999/10/21 11:14:28
@@ -125,6 +125,10 @@
 move_follow_code_in_goal_2(pragma_c_code(A,B,C,D,E,F,G), 
 			pragma_c_code(A,B,C,D,E,F,G), _, R, R).
 
+move_follow_code_in_goal_2(bi_implication(_, _), _, _, _, _) :-
+	% these should have been expanded out by now
+	error("move_follow_code_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 	% move_follow_code_in_disj is used both for disjunction and
Index: compiler/follow_vars.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/follow_vars.m,v
retrieving revision 1.54
diff -u -d -r1.54 follow_vars.m
--- compiler/follow_vars.m	1999/07/13 08:52:53	1.54
+++ compiler/follow_vars.m	1999/10/21 11:15:06
@@ -202,6 +202,10 @@
 		_, _ModuleInfo, FollowVars,
 		pragma_c_code(A,B,C,D,E,F,G), FollowVars).
 
+find_follow_vars_in_goal_2(bi_implication(_,_), _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("find_follow_vars_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred find_follow_vars_in_call(pred_id, proc_id, list(prog_var), module_info,
Index: compiler/goal_path.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/goal_path.m,v
retrieving revision 1.6
diff -u -d -r1.6 goal_path.m
--- compiler/goal_path.m	1999/07/13 08:52:54	1.6
+++ compiler/goal_path.m	1999/10/21 13:50:36
@@ -21,7 +21,7 @@
 :- implementation.
 
 :- import_module hlds_goal.
-:- import_module int, list, std_util.
+:- import_module int, list, std_util, require.
 
 goal_path__fill_slots(Proc0, _ModuleInfo, Proc) :-
 		% The ModuleInfo argument is there just for passes_aux
@@ -60,6 +60,9 @@
 fill_expr_slots(unify(A,B,C,D,E), _Path0, unify(A,B,C,D,E)).
 fill_expr_slots(pragma_c_code(A,B,C,D,E,F,G), _Path0,
 		pragma_c_code(A,B,C,D,E,F,G)).
+fill_expr_slots(bi_implication(_, _), _, _) :-
+	% these should have been expanded out by now
+	error("fill_expr_slots: unexpected bi_implication").
 
 :- pred fill_conj_slots(list(hlds_goal)::in, goal_path::in, int::in,
 	list(hlds_goal)::out) is det.
Index: compiler/higher_order.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/higher_order.m,v
retrieving revision 1.57
diff -u -d -r1.57 higher_order.m
--- compiler/higher_order.m	1999/10/15 03:44:45	1.57
+++ compiler/higher_order.m	1999/10/21 16:44:12
@@ -478,6 +478,10 @@
 	{ Goal = unify(_, _, _, Unify, _) - _ }, 
 	check_unify(Unify).
 
+traverse_goal_2(bi_implication(_, _) - _, _) -->
+	% these should have been expanded out by now
+	{ error("traverse_goal_2: unexpected bi_implication") }.
+
 		% To process a disjunction, we process each disjunct with the
 		% specialization information before the goal, then merge the
 		% results to give the specialization information after the
Index: compiler/inlining.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/inlining.m,v
retrieving revision 1.83
diff -u -d -r1.83 inlining.m
--- compiler/inlining.m	1999/10/14 03:40:05	1.83
+++ compiler/inlining.m	1999/10/21 11:26:56
@@ -544,6 +544,10 @@
 inlining__inlining_in_goal(pragma_c_code(A, B, C, D, E, F, G) - GoalInfo,
 		pragma_c_code(A, B, C, D, E, F, G) - GoalInfo) --> [].
 
+inlining__inlining_in_goal(bi_implication(_, _) - _, _) -->
+	% these should have been expanded out by now
+	{ error("inlining__inlining_in_goal: unexpected bi_implication") }.
+
 %-----------------------------------------------------------------------------%
 
 inlining__do_inline_call(HeadTypeParams, ArgVars, PredInfo, ProcInfo, 
Index: compiler/intermod.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/intermod.m,v
retrieving revision 1.70
diff -u -d -r1.70 intermod.m
--- compiler/intermod.m	1999/10/14 03:40:05	1.70
+++ compiler/intermod.m	1999/10/21 13:53:06
@@ -509,6 +509,11 @@
 intermod__traverse_goal(pragma_c_code(A,B,C,D,E,F,G) - Info,
 			pragma_c_code(A,B,C,D,E,F,G) - Info, yes) --> [].
 
+intermod__traverse_goal(bi_implication(_, _) - _, _, _) -->
+	% these should have been expanded out by now
+	{ error("intermod__traverse_goal: unexpected bi_implication") }.
+
+
 :- pred intermod__traverse_list_of_goals(hlds_goals::in, hlds_goals::out,
 		bool::out, intermod_info::in, intermod_info::out) is det.
 
Index: compiler/lambda.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/lambda.m,v
retrieving revision 1.57
diff -u -d -r1.57 lambda.m
--- compiler/lambda.m	1999/09/15 19:25:00	1.57
+++ compiler/lambda.m	1999/10/21 16:44:34
@@ -255,6 +255,9 @@
 lambda__process_goal_2(pragma_c_code(A,B,C,D,E,F,G), GoalInfo,
 			pragma_c_code(A,B,C,D,E,F,G) - GoalInfo) -->
 	[].
+lambda__process_goal_2(bi_implication(_, _), _, _) -->
+	% these should have been expanded out by now
+	{ error("lambda__process_goal_2: unexpected bi_implication") }.
 
 :- pred lambda__process_goal_list(list(hlds_goal), list(hlds_goal),
 					lambda_info, lambda_info).
Index: compiler/lco.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/lco.m,v
retrieving revision 1.12
diff -u -d -r1.12 lco.m
--- compiler/lco.m	1999/07/13 08:53:03	1.12
+++ compiler/lco.m	1999/10/21 13:54:02
@@ -94,6 +94,10 @@
 lco_in_goal_2(pragma_c_code(A,B,C,D,E,F,G), _,
 		pragma_c_code(A,B,C,D,E,F,G)).
 
+lco_in_goal_2(bi_implication(_, _), _, _) :-
+	% these should have been expanded out by now
+	error("lco_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred lco_in_disj(list(hlds_goal), module_info, list(hlds_goal)).
Index: compiler/live_vars.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/live_vars.m,v
retrieving revision 1.84
diff -u -d -r1.84 live_vars.m
--- compiler/live_vars.m	1999/08/13 01:43:04	1.84
+++ compiler/live_vars.m	1999/10/21 11:30:50
@@ -397,6 +397,11 @@
 		)
 	).
 
+build_live_sets_in_goal_2(bi_implication(_, _), _, _, _, _, _, _, _, _, _, _)
+		:-
+	% these should have been expanded out by now
+	error("build_live_sets_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred build_live_sets_in_conj(list(hlds_goal), set(prog_var), set(prog_var),
Index: compiler/liveness.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/liveness.m,v
retrieving revision 1.101
diff -u -d -r1.101 liveness.m
--- compiler/liveness.m	1999/08/13 01:43:04	1.101
+++ compiler/liveness.m	1999/10/21 16:45:30
@@ -325,6 +325,9 @@
 detect_liveness_in_goal_2(pragma_c_code(_,_,_,_,_,_,_), _, _, _, _, _) :-
 	error("pragma_c_code in detect_liveness_in_goal_2").
 
+detect_liveness_in_goal_2(bi_implication(_, _), _, _, _, _, _) :-
+	error("bi_implication in detect_liveness_in_goal_2").
+
 %-----------------------------------------------------------------------------%
 
 :- pred detect_liveness_in_conj(list(hlds_goal), set(prog_var), live_info,
@@ -528,6 +531,9 @@
 detect_deadness_in_goal_2(pragma_c_code(_,_,_,_,_,_,_), _, _, _, _, _) :-
 	error("pragma_c_code in detect_deadness_in_goal_2").
 
+detect_deadness_in_goal_2(bi_implication(_, _), _, _, _, _, _) :-
+	error("bi_implication in detect_deadness_in_goal_2").
+
 %-----------------------------------------------------------------------------%
 
 :- pred detect_deadness_in_conj(list(hlds_goal), set(prog_var), live_info,
@@ -748,6 +754,10 @@
 detect_resume_points_in_goal_2(pragma_c_code(A,B,C,D,E,F,G), _, Liveness,
 		_, _,
 		pragma_c_code(A,B,C,D,E,F,G), Liveness).
+
+detect_resume_points_in_goal_2(bi_implication(_, _), _, _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("detect_resume_points_in_goal_2: unexpected bi_implication").
 
 :- pred detect_resume_points_in_conj(list(hlds_goal), set(prog_var), live_info,
 	set(prog_var), list(hlds_goal), set(prog_var)).
Index: compiler/magic.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/magic.m,v
retrieving revision 1.10
diff -u -d -r1.10 magic.m
--- compiler/magic.m	1999/10/03 04:15:22	1.10
+++ compiler/magic.m	1999/10/21 13:54:22
@@ -1546,6 +1546,10 @@
 		{ HOMap = HOMap0 }
 	).
 
+magic__preprocess_goal_2(bi_implication(_, _) - _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("magic__preprocess_goal_2: unexpected bi_implication") }.
+
 	% Introduce new variables and assignments to them for any
 	% duplicates in the list.
 :- pred magic__preprocess_call_args(list(prog_var)::in, list(prog_var)::out,
Index: compiler/ml_code_gen.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/ml_code_gen.m,v
retrieving revision 1.9
diff -u -d -r1.9 ml_code_gen.m
--- compiler/ml_code_gen.m	1999/10/08 06:57:52	1.9
+++ compiler/ml_code_gen.m	1999/10/21 16:48:42
@@ -1055,6 +1055,10 @@
 		_, _, _, _) -->
 	{ sorry("C interface") }.
 
+ml_gen_goal_expr(bi_implication(_, _), _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("ml_gen_goal_expr: unexpected bi_implication") }.
+
 %-----------------------------------------------------------------------------%
 %
 % Code for procedure calls
Index: compiler/mode_util.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/mode_util.m,v
retrieving revision 1.117
diff -u -d -r1.117 mode_util.m
--- compiler/mode_util.m	1999/10/15 03:44:52	1.117
+++ compiler/mode_util.m	1999/10/21 16:49:00
@@ -1211,6 +1211,10 @@
 	recompute_instmap_delta_call(PredId, ProcId,
 		Args, InstMap, InstMapDelta).
 
+recompute_instmap_delta_2(_, bi_implication(_, _), _, _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("recompute_instmap_delta_2: unexpected bi_implication") }.
+	
 %-----------------------------------------------------------------------------%
 
 :- pred recompute_instmap_delta_conj(bool, list(hlds_goal), list(hlds_goal),
Index: compiler/modes.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/modes.m,v
retrieving revision 1.233
diff -u -d -r1.233 modes.m
--- compiler/modes.m	1999/10/15 03:44:55	1.233
+++ compiler/modes.m	1999/10/21 14:04:02
@@ -1184,6 +1184,10 @@
 	mode_info_unset_call_context,
 	mode_checkpoint(exit, "pragma_c_code").
 
+modecheck_goal_expr(bi_implication(_, _), _, _) -->
+	% these should have been expanded out by now
+	{ error("modecheck_goal_expr: unexpected bi_implication") }.
+
  	% given the right-hand-side of a unification, return a list of
 	% the potentially non-local variables of that unification.
 
Index: compiler/pd_cost.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/pd_cost.m,v
retrieving revision 1.6
diff -u -d -r1.6 pd_cost.m
--- compiler/pd_cost.m	1999/07/13 08:53:19	1.6
+++ compiler/pd_cost.m	1999/10/21 16:49:16
@@ -36,7 +36,7 @@
 :- implementation.
 
 :- import_module hlds_data, prog_data.
-:- import_module int, list, set, std_util.
+:- import_module int, list, set, std_util, require.
 
 %-----------------------------------------------------------------------------%
 
@@ -102,6 +102,10 @@
 	InputArgs is Arity // 2,	% rough
 	pd_cost__reg_assign(AssignCost),
 	Cost is Cost1 + Cost2 + AssignCost * InputArgs.
+
+pd_cost__goal(bi_implication(_, _) - _, _) :-
+	% these should have been expanded out by now
+	error("pd_cost__goal: unexpected bi_implication").
 
 :- pred pd_cost__unify(set(prog_var)::in, unification::in, int::out) is det.
 
Index: compiler/polymorphism.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/polymorphism.m,v
retrieving revision 1.173
diff -u -d -r1.173 polymorphism.m
--- compiler/polymorphism.m	1999/10/15 03:45:01	1.173
+++ compiler/polymorphism.m	1999/10/21 14:10:50
@@ -1109,6 +1109,9 @@
 	polymorphism__process_goal(A0, A),
 	polymorphism__process_goal(B0, B),
 	polymorphism__process_goal(C0, C).
+polymorphism__process_goal_expr(bi_implication(_, _), _, _) -->
+	% these should have been expanded out by now
+	{ error("polymorphism__process_goal_expr: unexpected bi_implication") }.
 
 :- pred polymorphism__process_unify(prog_var, unify_rhs,
 		unify_mode, unification, unify_context, hlds_goal_info,
Index: compiler/post_typecheck.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/post_typecheck.m,v
retrieving revision 1.15
diff -u -d -r1.15 post_typecheck.m
--- compiler/post_typecheck.m	1999/10/03 04:15:25	1.15
+++ compiler/post_typecheck.m	1999/10/21 17:02:46
@@ -854,6 +854,9 @@
 			ModuleInfo, PredInfo, Then),
 	post_typecheck__resolve_data_cons_and_funcs(Else0,
 			ModuleInfo, PredInfo, Else).
+post_typecheck__resolve_data_cons_and_funcs(bi_implication(_, _) - _, _, _, _) :-
+	% these should have been expanded out by now
+	error("post_typecheck__resolve_data_cons_and_funcs: unexpected bi_implication").
 	
 :- pred post_typecheck__resolve_data_cons_and_funcs_list(list(hlds_goal)::in,
 		module_info::in, pred_info::in, list(hlds_goal)::out) is det.
Index: compiler/rl_exprn.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/rl_exprn.m,v
retrieving revision 1.11
diff -u -d -r1.11 rl_exprn.m
--- compiler/rl_exprn.m	1999/08/25 06:34:02	1.11
+++ compiler/rl_exprn.m	1999/10/21 16:11:30
@@ -668,6 +668,9 @@
 	{ error("rl_exprn__goal: pragma_c_code not yet implemented") }.
 rl_exprn__goal(some(_, _, Goal) - _, Fail, Code) -->
 	rl_exprn__goal(Goal, Fail, Code).
+rl_exprn__goal(bi_implication(_, _) - _, _, _) -->
+	% these should have been expanded out by now
+	{ error("rl_exprn__goal: unexpected bi_implication") }.
 
 :- pred rl_exprn__cases(prog_var::in, list(case)::in, byte_tree::in,
 		byte_tree::in, byte_tree::out, 
Index: compiler/saved_vars.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/saved_vars.m,v
retrieving revision 1.21
diff -u -d -r1.21 saved_vars.m
--- compiler/saved_vars.m	1999/10/15 03:45:06	1.21
+++ compiler/saved_vars.m	1999/10/24 14:42:34
@@ -42,7 +42,7 @@
 
 :- import_module hlds_goal, hlds_out, goal_util, quantification, passes_aux.
 :- import_module mode_util, prog_data, term, varset.
-:- import_module bool, list, set, map, std_util.
+:- import_module bool, list, set, map, std_util, require.
 
 %-----------------------------------------------------------------------------%
 
@@ -137,6 +137,10 @@
 		GoalExpr0 = pragma_c_code(_, _, _, _, _, _, _),
 		Goal = GoalExpr0 - GoalInfo0,
 		SlotInfo = SlotInfo0
+	;
+		GoalExpr0 = bi_implication(_, _),
+		% these should have been expanded out by now
+		error("saved_vars_in_goal: unexpected bi_implication")
 	),
 	!.
 
@@ -373,6 +377,10 @@
 			saved_vars_delay_goal(Goals0, Construct, Var,
 				IsNonLocal, SlotInfo3, Goals1, SlotInfo),
 			Goals = [Goal1 | Goals1]
+		;
+			Goal0Expr = bi_implication(_, _),
+			% these should have been expanded out by now
+			error("saved_vars_delay_goal: unexpected bi_implication")
 		)
 	;
 		saved_vars_delay_goal(Goals0, Construct, Var, IsNonLocal,
Index: compiler/simplify.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/simplify.m,v
retrieving revision 1.72
diff -u -d -r1.72 simplify.m
--- compiler/simplify.m	1999/10/15 03:45:06	1.72
+++ compiler/simplify.m	1999/10/21 16:14:38
@@ -1059,6 +1059,10 @@
 		Goal = Goal0
 	).
 
+simplify__goal_2(bi_implication(_, _), _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("simplify__goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred simplify__process_compl_unify(prog_var, prog_var,
Index: compiler/store_alloc.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/store_alloc.m,v
retrieving revision 1.69
diff -u -d -r1.69 store_alloc.m
--- compiler/store_alloc.m	1999/07/13 08:53:31	1.69
+++ compiler/store_alloc.m	1999/10/21 16:15:08
@@ -206,6 +206,10 @@
 store_alloc_in_goal_2(pragma_c_code(A, B, C, D, E, F, G), Liveness, _, _,
 		_, pragma_c_code(A, B, C, D, E, F, G), Liveness).
 
+store_alloc_in_goal_2(bi_implication(_, _), _, _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("store_alloc_in_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 :- pred store_alloc_in_conj(list(hlds_goal), liveness_info, set(prog_var),
Index: compiler/stratify.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/stratify.m,v
retrieving revision 1.20
diff -u -d -r1.20 stratify.m
--- compiler/stratify.m	1999/07/13 08:53:32	1.20
+++ compiler/stratify.m	1999/10/21 16:54:56
@@ -212,6 +212,9 @@
 first_order_check_goal(generic_call(_Var, _Vars, _Modes, _Det),
 	_GInfo, _Negated, _WholeScc, _ThisPredProcId, 
 	_Error,  Module, Module) --> []. 
+first_order_check_goal(bi_implication(_, _), _, _, _, _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("first_order_check_goal: unexpected bi_implication") }.
 
 :- pred first_order_check_goal_list(list(hlds_goal), bool, 
 	list(pred_proc_id), pred_proc_id, bool, module_info, 
@@ -377,6 +380,9 @@
 	;
 		{ Module = Module0 }
 	).
+higher_order_check_goal(bi_implication(_, _), _, _, _, _, _, _, _, _) -->
+	% these should have been expanded out by now
+	{ error("higher_order_check_goal: unexpected bi_implication") }.
 
 :- pred higher_order_check_goal_list(list(hlds_goal), bool, set(pred_proc_id),
 	pred_proc_id, bool, bool, module_info, module_info, 
@@ -817,6 +823,10 @@
 
 check_goal1(pragma_c_code(_IsRec, _CPred, _CProc, _, _, _, _), Calls, Calls, 
 		HasAT, HasAT, CallsHO, CallsHO).
+
+check_goal1(bi_implication(_, _), _, _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("check_goal1: unexpected bi_implication").
 	
 :- pred check_goal_list(list(hlds_goal), set(pred_proc_id), set(pred_proc_id), 
 	set(pred_proc_id), set(pred_proc_id), bool, bool). 
@@ -904,6 +914,9 @@
 	get_called_procs(Goal, Calls0, Calls).
 get_called_procs(pragma_c_code(_IsRec, _CPred, _CProc, _, _, _, _),
 	Calls, Calls).
+get_called_procs(bi_implication(_, _), _, _) :-
+	% these should have been expanded out by now
+	error("get_called_procs: unexpected bi_implication").
 
 :- pred check_goal_list(list(hlds_goal), list(pred_proc_id), 
 	list(pred_proc_id)).
Index: compiler/switch_detection.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/switch_detection.m,v
retrieving revision 1.87
diff -u -d -r1.87 switch_detection.m
--- compiler/switch_detection.m	1999/08/31 04:16:13	1.87
+++ compiler/switch_detection.m	1999/10/21 16:20:06
@@ -218,6 +218,9 @@
 
 detect_switches_in_goal_2(pragma_c_code(A,B,C,D,E,F,G), _, _, _, _,
 		pragma_c_code(A,B,C,D,E,F,G)).
+detect_switches_in_goal_2(bi_implication(_, _), _, _, _, _, _) :-
+	% these should have been expanded out by now
+	error("detect_switches_in_goal_2: unexpected bi_implication").
 
 %-----------------------------------------------------------------------------%
 
Index: compiler/term_traversal.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/term_traversal.m,v
retrieving revision 1.11
diff -u -d -r1.11 term_traversal.m
--- compiler/term_traversal.m	1999/07/16 06:31:44	1.11
+++ compiler/term_traversal.m	1999/10/21 16:21:12
@@ -288,6 +288,10 @@
 		Info = Info3
 	).
 
+traverse_goal_2(bi_implication(_, _), _, _, _, _) :-
+	% these should have been expanded out by now
+	error("traverse_goal_2traverse_goal_2: unexpected bi_implication").
+
 %-----------------------------------------------------------------------------%
 
 	% Traverse_conj should be invoked with a reversed list of goals.
Index: compiler/unique_modes.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/unique_modes.m,v
retrieving revision 1.58
diff -u -d -r1.58 unique_modes.m
--- compiler/unique_modes.m	1999/10/15 03:45:10	1.58
+++ compiler/unique_modes.m	1999/10/21 16:23:44
@@ -499,6 +499,10 @@
 	mode_info_unset_call_context,
 	mode_checkpoint(exit, "pragma_c_code").
 
+unique_modes__check_goal_2(bi_implication(_, _), _, _) -->
+	% these should have been expanded out by now
+	{ error("unique_modes__check_goal_2: unexpected bi_implication") }.
+
 :- pred unique_modes__check_call(pred_id, proc_id, list(prog_var), proc_id, 
 			mode_info, mode_info).
 :- mode unique_modes__check_call(in, in, in, out,
Index: compiler/unused_args.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/unused_args.m,v
retrieving revision 1.60
diff -u -d -r1.60 unused_args.m
--- compiler/unused_args.m	1999/08/13 01:43:13	1.60
+++ compiler/unused_args.m	1999/10/21 16:57:12
@@ -523,6 +523,10 @@
 		error("complicated unifications should only be var-var")
 	).
 
+traverse_goal(_, bi_implication(_, _), _, _) :-
+	% these should have been expanded out by now
+	error("traverse_goal: unexpected bi_implication").
+
 	% add PredProc - HeadVar as an alias for the same element of Args.
 :- pred add_pred_call_arg_dep(pred_proc_id::in, list(prog_var)::in,
 		list(prog_var)::in, var_dep::in, var_dep::out) is det.
@@ -1286,6 +1290,10 @@
 fixup_goal_expr(_ModuleInfo, _UnusedVars, _ProcCallInfo, no,
 			GoalExpr - GoalInfo, GoalExpr - GoalInfo) :-
 	GoalExpr = pragma_c_code(_, _, _, _, _, _, _).
+
+fixup_goal_expr(_, _, _, _, bi_implication(_, _) - _, _) :-
+	% these should have been expanded out by now
+	error("fixup_goal_expr: unexpected bi_implication").
 
 	% Remove useless unifications from a list of conjuncts.
 :- pred fixup_conjuncts(module_info::in, list(prog_var)::in, proc_call_info::in,

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