When called in Prolog, Prolog will call function. flags forms bitwise or'ed list of options for the installation. These are:
| PL_FA_NOTRACE | Predicate cannot be seen in the tracer |
| PL_FA_TRANSPARENT | Predicate is module transparent |
| PL_FA_NONDETERMINISTIC | Predicate is non-deterministic. See also PL_retry. |
| PL_FA_VARARGS | Use alternative calling convention. |
voidPL_load_extensionsPL_extension *e Register foreign predicates from a table of structures. This is an alternative to multiple calls to PL_register_foreign and simplifies code that wishes to use PL_register_extensions as an alternative. The type PL_extension is defined as:
voidPL_register_extensionsPL_extension *e The function PL_register_extensions behaves as PL_load_extensions, but is the only PL_* function that may be called before PL_initialise. The predicates are registered into the module user after registration of the SWI-Prolog builtin foreign predicates and before loading the initial saved state. This implies that initialization1 directives can refer to them.
Here is an example of its usage: