PrologJ supports 46 built-in operators. By default, all are defined; but when the user explicitly specifies the category(s) of built-in predicates to use, certain operators that are specific to a particular category of predicates are not defined if the category is not selected. If a library category is unloaded using the "Library Components" menu, then the associated operators are also removed.
The following is a complete list of the operators. If a predicate category is specified, then the operator is defined only when that predicate category is available. When no predicate category is specified, that operator is always defined. (The category codes are those used in the table in the built-in predicates page).
These operator definitions are consistent with the ISO standard table of
predefined operators listed in [ Deransart, Ed-Dbali, and Cervoni 1996 ]
Table 9.2, with the exception of not - which is as described in
[ Clocksin and Mellish 1994 ] section 5.5, and the operators associated
with the "DEB", "JAV", and "FUZ" extensions, which are documented in this
set of web pages along with the corresponding built-in predicates.
| Symbol | Precedence | Associativity | Category |
|---|---|---|---|
| :- | xfx | 1200 | |
| --> | xfx | 1200 | |
| :- | fx | 1200 | |
| ?- | fx | 1200 | |
| ; | xfy | 1100 | |
| -> | xfy | 1050 | |
| ',' | xfy | 1000 | FUZ |
| : | xfy | 1000 | |
| \+ | fy | 900 | ISO |
| not | fy | 900 | TRA |
| @ | xfx | 900 | JAV |
| spy | fy | 800 | DEB |
| nospy | fy | 800 | DEB |
| trace | fy | 800 | DEB |
| notrace | fy | 800 | DEB |
| = | xfx | 700 | |
| \= | xfx | 700 | |
| == | xfx | 700 | |
| \== | xfx | 700 | |
| @< | xfx | 700 | ISO |
| @=< | xfx | 700 | ISO |
| @> | xfx | 700 | ISO |
| @>= | xfx | 700 | ISO |
| =.. | xfx | 700 | |
| is | xfx | 700 | |
| =:= | xfx | 700 | |
| =\= | xfx | 700 | |
| < | xfx | 700 | |
| =< | xfx | 700 | |
| > | xfx | 700 | |
| >= | xfx | 700 | |
| + | yfx | 500 | |
| - | yfx | 500 | |
| /\ | yfx | 500 | ISO |
| \/ | yfx | 500 | ISO |
| * | yfx | 400 | |
| / | yfx | 400 | |
| // | yfx | 400 | ISO |
| rem | yfx | 400 | ISO |
| mod | yfx | 400 | |
| << | yfx | 400 | ISO |
| >> | yfx | 400 | ISO |
| ** | xfx | 200 | ISO |
| ^ | xfy | 200 | ISO |
| - | fy | 200 | |
| \ | fy | 200 | ISO |