[Up] [Contents] [Index] [Summary]
Modules are identified via a unique handle. The following functions
are available to query and manipulate modules.
- module_t PL_context()
-
Return the module identifier of the context module of the currently
active foreign predicate.
- int PL_strip_module(term_t
+raw, module_t *m, term_t -plain)
-
Utility function. If raw is a term, possibly holding the
module construct <module>:<rest>
this function will make
plain a reference to <rest> and fill module
* with <module>. For further nested module
constructs the inner most module is returned via module *. If raw
is not a module construct arg will simply be put in plain.
If module * is
NULL
it will be set to the
context module. Otherwise it will be left untouched. The following
example shows how to obtain the plain term and module if the default
module is the user module:
{ module m = PL_new_module(PL_new_atom("user"));
term_t plain = PL_new_term_ref();
PL_strip_module(term, &m, plain);
...
- atom_t PL_module_name(module_t)
-
Return the name of module as an atom.
- module_t PL_new_module(atom_t
name)
-
Find an existing or create a new module with name specified by the atom
name.