11.1.3 Predicate Annotation

This section describes the annotations of predicates and how they are indicated in the reference pages for predicates of each given annotation. The annotations appear to the right of the title of the reference page.

hookable
The behavior of the predicate can be customized/redefined by defining one or more hooks. The mode and type annotations of a hookable predicate might not be absolute, since hooks added by the user can change the behavior.


hook
The predicate is user defined, and is called by a hookable builtin. Most hooks must be defined in module user. For a hook, the mode and type annotations should be seen as guide-lines to the user who wants to add his own hook; they describe how the predicate is used by the system.


extendible
A multifile predicate, to which new clauses can be added by the user. For such a predicate, the mode and type annotations should be seen as guide-lines to the user who wants to extend the predicate; they describe how the predicate is used by the system.


declaration
You cannot call these directly but they can appear in files as ‘:- declaration’ and give information to the compiler. The goal template is preceded by ‘:-’ in the Synopsis.


development
A predicate that is defined in the development system only, i.e. not in runtime systems.


ISO
A predicate that is part of the ISO Prolog Standard.


deprecated
A predicate that is not recommended in new code and that could be withdrawn in a future release.

Meta-predicates and operators are recognizable by the implicit conventions described below.


Send feedback on this subject.