Note carefully the following syntax restrictions, which serve to remove potential ambiguity associated with prefix operators.
is invalid syntax.
(where `:-' is the prefix operator) is invalid syntax. The system would try to interpret it as the compound term:
, / \ :- r | ; / \ p q
That is, it would take `:-' to be a functor of arity 1. However, since the arguments of a compound term are required to be expressions of precedence below 1000, this interpretation would fail as soon as the `;' (precedence 1100) was encountered.
In contrast, the term:
is valid syntax and represents the following compound term:
:- | , / \ ; r / \ p q