[Up] [Contents] [Index] [Summary]
This section gives the predicate definitions for the remaining
built-in predicates that handle modules.
- module(+Module, +PublicList)
-
This directive can only be used as the first term of a source file. It
declares the file to be a module file, defining Module
and exporting the predicates of PublicList. PublicList
is a list of name/arity pairs.
- module_transparent +Preds
-
Preds is a comma separated list of name/arity pairs (like
dynamic/1).
Each goal associated with a transparent declared predicate will inherit
the context module from its parent goal.
- meta_predicate +Heads
-
This predicate is defined in
library(quintus)
and provides
a partial emulation of the Quintus predicate. See section
4.9.1 for details.
- current_module(-Module)
-
Generates all currently known modules.
- current_module(?Module,
?File)
-
Is true if File is the file from which Module was
loaded.
File is the internal canonical filename. See also
source_file/[1,2].
- context_module(-Module)
-
Unify Module with the context module of the current goal.
context_module/1
itself is transparent.
- export(+Head)
-
Add a predicate to the public list of the context module. This implies
the predicate will be imported into another module if this module is
imported with use_module/[1,2].
Note that predicates are normally exported using the directive module/2. export/1
is meant to handle export from dynamically created modules.
- export_list(+Module,
?Exports)
-
Unifies Exports with a list of terms. Each term has the name
and arity of a public predicate of Module. The order of the
terms in
Exports is not defined. See also predicate_property/2.
- default_module(+Module,
-Default)
-
Succesively unifies Default with the module names from which
a call in Module attempts to use the definition. For the
module
user
, this will generate user
and system
.
For any other module, this will generate the module itself, followed by user
and system
.
- module(+Module)
-
The call
module(Module)
may be used to switch
the default working module for the interactive toplevel (see prolog/0).
This may be used to when debugging a module. The example below lists the
clauses of file_of_label/2 in the module tex
.
1 ?- module(tex).
Yes
tex: 2 ?- listing(file_of_label/2).
...