[ Obsolete | Reference Manual | Alphabetic Index ]
begin_module(+Module)
Start the definition of the body of the Module.
- Module
- Atom.
This built-in predicate is obsolete!
Description
This is a directive that can occur only in a compiled file. Module must
be an existing, non-locked module. All following code will be added to
the module Module up to the next begin_module/1 or module_interface/1
directive or up to the file end.
Modes and Determinism
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.
- (80) not a module
- Module is not a module.
- (82) trying to access a locked module
- Module is locked.
Examples
Success:
[eclipse 2]: [user].
:- module_interface(m).
:- op(700, xf, there).
:- export p/1.
:- begin_module(m).
p(X) :- writeln(X).
user compiled 56 bytes in 0.03 seconds
yes.
[eclipse 3]: p(hello there).
syntax error: postfix/infix operator expected
| p(hello there).
| ^ here
[eclipse 3]: use_module(m).
yes.
[eclipse 4]: p(hello there).
hello there
yes.
Error:
begin_module(M). (Error 4).
begin_module(1). (Error 5).
begin_module(a_locked_module). (Error 82).
See Also
module / 1, create_module / 1, erase_module / 1, current_module / 1, module_interface / 1