[ Modules | Reference Manual | Alphabetic Index ]
Begin of the definition of module Module.
This is a directive that can occur only in a compiled file. If Module
is an existing module, it is first erased. Then a new module is created
and all subsequent definitions, declarations and directives are taken
in the context of that new module.
The new module implicitly imports the module
which means that all ECLiPSe built-ins are visible there.
module(m) is equivalent to
Note that module/1 is not a predicate, it can only occur as a
directive in a compiled file. However, the console based ECLiPSe
toplevel also interprets module/1 commands, but in the following
way: when the module already exists, the toplevel-module (i.e.
the context in which toplevel queries are interpreted) is changed
to this module. When the module does not exist, it gets created
and a warning is issued.
The system does not allow the atom  to be used as a module name!
Modes and Determinism
- (4) instantiation fault
- Module is not instantiated.
- (5) type error
- Module is not an atom, or Module is the atom .
- (68) calling an undefined procedure
- When called from Prolog.
- (82) trying to access a locked module
- Module is locked.
% A very small module:
:- export hello/0.
hello :- writeln("Welcome to module m!").
module / 1, module / 3, create_module / 1, create_module / 3, erase_module / 1, current_module / 1, export / 1