Files
mercury/compiler/hlds.m
Zoltan Somogyi 3ebda6545f Move the stuff currently in hlds_pred.m that deals with clauses into a new
Estimated hours taken: 1.5
Branches: main

Move the stuff currently in hlds_pred.m that deals with clauses into a new
module, hlds_clauses.m.

Move the stuff currently in hlds_pred.m that deals with RTTI into a new
module, hlds_rtti.m.

Move the stuff currently in hlds_module.m that deals with predicate tables
into a new module, pred_table.m.

These changes make hlds_pred.m and hlds_module.m much more cohesive, but there
are no changes in algorithms.

compiler/hlds_clauses.m:
compiler/hlds_rtti.m:
compiler/pred_table.m:
	New modules as described above. In some cases, fix mixleading or
	ambiguous predicate names in the process, and convert a few predicates
	to functions.

compiler/hlds_pred.m:
compiler/hlds_module.m:
	Delete the stuff moved to other modules.

compiler/*.m:
	In modules that need the functionality moved a new module, import
	the new module. It is rare for all the new modules to be needed,
	and many modules don't need any of the new modules at all. (For
	example, of the 200+ modules that import hlds_module.m, only about 40
	need pred_table.m.)

	Conform to the few minor changes to e.g. predicate names.

compiler/notes/compiler_design.html:
	Document the new modules.
2006-03-24 03:04:20 +00:00

63 lines
1.9 KiB
Mathematica

%-----------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%-----------------------------------------------------------------------------%
% Copyright (C) 2002-2006 The University of Melbourne.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%-----------------------------------------------------------------------------%
%
% This package contains the HLDS data structure, together with modules
% for creating and manipulating it.
%
:- module hlds.
:- interface.
:- import_module mdbcomp.
:- import_module parse_tree.
%-----------------------------------------------------------------------------%
% The HLDS data structure itself
:- include_module assertion.
:- include_module hlds_clauses.
:- include_module hlds_data.
:- include_module hlds_goal.
:- include_module hlds_llds.
:- include_module hlds_module.
:- include_module hlds_pred.
:- include_module hlds_rtti.
:- include_module inst_graph.
:- include_module instmap.
:- include_module pred_table.
:- include_module special_pred.
% Modules for creating the HLDS
:- include_module make_hlds.
:- include_module make_tags.
:- include_module quantification.
:- include_module hhf.
% Modules for pretty-printing it.
:- include_module hlds_out.
% Miscellaneous utilities.
:- include_module arg_info.
:- include_module code_model.
:- include_module goal_form.
:- include_module goal_util.
:- include_module hlds_code_util.
:- include_module hlds_error_util.
:- include_module passes_aux.
%-----------------------------------------------------------------------------%
:- implementation.
:- import_module libs.
:- import_module check_hlds. % needed for unify_proc.unify_proc_id, etc
:- import_module transform_hlds. % needed for term_util, mmc_analysis
:- end_module hlds.
%-----------------------------------------------------------------------------%