The following prefix and infix operators are predefined in PrologJ. (An
operator with associativity fx
or fy
is prefix;
any other associativity specifies infix.) Each is associated with
a builtin predicate set, and is defined just when that predicate set is
available. (See the help topic BuiltinPredicates.) It is possible to define
new operators using op/3
; it is also possible to undefine a
builtin operator using the same predicate with a priority of 0 and an
associativity corresponding to either prefix or infix as appropriate.
Symbol | Priority | Associativity | Set |
---|---|---|---|
:- | 1200 | xfx | Core |
:- | 1200 | fx | Core |
?- | 1200 | fx | Core |
; | 1100 | xfy | Core |
-> | 1050 | xfy | Core |
, | 1000 | xfy | Core |
= | 700 | xfx | Core |
\= | 700 | xfx | Core |
== | 700 | xfx | Core |
\== | 700 | xfx | Core |
=.. | 700 | xfx | Core |
is | 700 | xfx | Core |
=:= | 700 | xfx | Core |
=\= | 700 | xfx | Core |
< | 700 | xfx | Core |
=< | 700 | xfx | Core |
> | 700 | xfx | Core |
>= | 700 | xfx | Core |
+ | 500 | yfx | Core |
- | 500 | yfx | Core |
mod | 400 | yfx | Core |
* | 400 | yfx | Core |
/ | 400 | yfx | Core |
** | 200 | xfx | Core |
- | 200 | fy | Core |
\+ | 900 | fy | ISO |
@< | 700 | xfx | ISO |
@=< | 700 | xfx | ISO |
@> | 700 | xfx | ISO |
@>= | 700 | xfx | ISO |
/\ | 500 | yfx | ISO |
\/ | 500 | yfx | ISO |
// | 400 | yfx | ISO |
rem | 400 | yfx | ISO |
<< | 400 | yfx | ISO |
>> | 400 | yfx | ISO |
^ | 200 | xfy | ISO |
\ | 200 | fy | ISO |
not | 900 | fy | Edinburgh |
nospy | 800 | fy | Debug |
spy | 800 | fy | Debug |
notrace | 800 | fy | Debug |
trace | 800 | fy | Debug |
--> | 1200 | xfx | Grammar Rules |