The Prolog cross-referencer can automatically generate module/2
declarations from its cross-reference information. This is useful if
you want to take a set of files making up a program and make each of
those files into a module-file. For more information, see The Cross-Referencer
Alternatively, if you have a complete Prolog program consisting of a set of
source files {file1, file2, ...}, and you wish to encapsulate it in a
single module mod, this can be done by creating a “driver”
file of the following form:
:- module(mod, [ ... ]).
:- ensure_loaded(file1).
:- ensure_loaded(file2).
.
.
.
When a module is created in this way, none of the files in the program
{file1, file2, ...} have to
be changed.