[ Modules | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
module(+Module)
Begin of the definition of module Module.
- +Module
- Atom.
Description
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 eclipse_language
,
which means that all ECLiPSe built-ins are visible there.
module(m)
is equivalent to module(m,[],eclipse_language)
.
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.
Fail Conditions
None.
Resatisfiable
No.
Exceptions
- (4) instantiation fault
- Module is not instantiated.
- (5) type error
- Module is not an atom.
- (68) calling an undefined procedure
- When called from Prolog.
- (82) trying to access a locked module
- Module is locked.
Examples
% A very small module:
:- module(m).
:- export hello/0.
hello :- writeln("Welcome to module m!").
See Also
module / 1, module / 3, create_module / 1, create_module / 3, erase_module / 1, current_module / 1, export / 1