The query answer loop of the Prolog interpreter repeatedly prompts a query and answers it by showing the variable bindings. The query answer loop can be started by the predicate prolog/0 and entered recursively by the predicate break/0. The query answer loop can be terminated by issuing an end of file.Examples:
?- ?- break, p(X).
 ?- assertz(p(a)).
X = a
The system predicates abort/1, exit/1 and close/1 throw some
well-known system errors. The system predicate exit/1 allows
terminating the query answer loop similarly like issuing an end of
file. The system predicate abort/1 only terminates the current
query but continues the loop. The system predicate close/1
recursively terminates all query answering loops.
Top-level answers are displayed with the operator (=)/2. For
custom forms delivered by a printable hook the operator (is)/2 is
displayed. For custom constraints delivered by an equation hook
the corresponding operator is displayed. For printable and
equation hooks see the module residue.
The following Prolog flags for user sessions are provided:
The following thread flags for user sessions are provided: