next up previous contents index
Next: The Foreign Include File Up: Interface Data types Previous: Interaction with the garbage   Contents   Index

Other foreign interface types

atom_t
An atom in Prologs internal representation. Atoms are pointers to an opaque structure. They are a unique representation for represented text, which implies that atom $A$ represents the same text as atom $B$ if-and-only-if $A$ and $B$ are the same pointer.

Atoms are the central representation for textual constants in Prolog The transformation of C a character string to an atom implies a hash-table lookup. If the same atom is needed often, it is advised to store its reference in a global variable to avoid repeated lookup.

functor_t
A functor is the internal representation of a name/arity pair. They are used to find the name and arity of a compound term as well as to construct new compound terms. Like atoms they live for the whole Prolog session and are unique.
predicate_t
Handle to a Prolog predicate. Predicate handles live forever (although they can loose their definition).
qid_t
Query Identifier. Used by PL_open_query/PL_next_solution/PL_close_query to handle backtracking from C.
fid_t
Frame Identifier. Used by PL_open_foreign_frame/PL_close_foreign_frame.
module_t
A module is a unique handle to a Prolog module. Modules are used only to call predicates in a specific module.
foreign_t
Return type for a C-function implementing a Prolog predicate.
control_t
Passed as additional argument to non-deterministic foreign functions. See PL_retry*() and PL_foreign_context*().
install_t
Type for the install() and uninstall() functions of shared or dynamic link libraries. See secrefshlib.


next up previous contents index
Next: The Foreign Include File Up: Interface Data types Previous: Interaction with the garbage   Contents   Index
Dr. Richard Botting 2001-12-12