| 
 
/== (?x ?y) 
 | 
 
same as Prolog 
\==
 
 | 
| 
 
= (?x ?y) 
 | 
 
standard Prolog 
 | 
| 
 
=.. (?x ?y) 
 | 
 
standard Prolog 
 | 
| 
 
== (?x ?y) 
 | 
 
standard Prolog 
 | 
| 
 
@< (?x ?y) 
 | 
 
same as Prolog except all variables sort as identical 
 | 
| 
 
@=< (?x ?y) 
 | 
 
ditto 
 | 
| 
 
@> (?x ?y 
 | 
 
ditto 
 | 
| 
 
@>= (?x ?y) 
 | 
 
ditto 
 | 
| 
 
append (?x ?y ?z) 
 | 
 
standard Prolog 
 | 
| 
 
arg (+index +term ?value) 
 | 
 
standard Prolog 
 | 
| 
 
asserta (+exp) 
 | 
 
standard Prolog 
 | 
| 
 
assertz (+exp) 
 | 
 
standard Prolog 
 | 
| 
 
atomic (?x) 
 | 
 
standard Prolog 
 | 
| 
 
bagof (?exp  
       (+goal . +ex-vars) 
       ?bag) 
 | 
 
standard Prolog (unusual syntax)* 
 | 
| 
 
call (+exp) 
 | 
 
standard Prolog 
 | 
| 
 
clause (+head ?tail) 
 | 
 
standard Prolog 
 | 
| 
 
debug () 
 | 
 
cause debugging information to be saved for each call whether it is spied or not 
 | 
| 
 
debugging () 
 | 
 
display a list of all spied goals 
 | 
| 
 
defdetrel  
  (+name &rest +clauses) 
 | 
 
define a relation and declare it to be deterministic 
 | 
| 
 
defgrammar  
  (+name &rest +rules) 
 | 
 
define a grammar rule 
 | 
| 
 
defrel  
  (+name &rest +clauses) 
 | 
 
define a relation 
 | 
| 
 
defrelmacro  
  (+name +args &rest +body) 
 | 
 
 define a logic macro 
 | 
| 
 
defrel-special-form-macro  
  (+name +args &rest +body) 
 | 
 
like defrelmacro but can have &rest in 
+args
. Use of this form will shadow all predicates named 
+name 
regardless of arity. 
 | 
| 
 
deterministic (+name) 
 | 
 
declare the relation called 
?name
 to be deterministic 
 | 
| 
 
erase (+ref) 
 | 
 
delete the predicate with database reference
 ?ref
 from the database 
 | 
| 
 
fail () 
 | 
 
standard Prolog 
 | 
| 
 
findall  
  (?exp +goal ?result) 
 | 
 
generate all solutions to ?goal and instantiate
 ?exp
 with the values. Return a list in 
?result
.  
 | 
| 
 
findallset  
  (?exp +goal ?result) 
 | 
 
same as findall/3 but removes duplicates 
 | 
| 
 
functor  
  (?term ?functor ?arity) 
 | 
 
standard Prolog 
 | 
| 
 
halt () 
 | 
 
exit Common Prolog 
 | 
| 
 
integer (?x) 
 | 
 
standard Prolog  
 | 
| 
 
is (?result +exp) 
 | 
 
standard Prolog 
 | 
| 
 
keysort (+in ?out) 
 | 
 
standard Prolog except uses alist style cons pairs 
 | 
| 
 
leash (+event-spec) 
 | 
 
cause the interpreter to pause and ask for input when one of the leashed events is traced. An event-spec is one of: 
(call 
exit redo fail), or a list of ports.  
 | 
| 
 
listing  
  (+name &optional +arity) 
 | 
 
display a listing of the named predicate or listings for each arity if no arity is specified 
 | 
| 
 
member (?x ?y) 
 | 
 
standard Prolog 
 | 
| 
 
nodebug () 
 | 
 
leave debug mode (cease saving debug info for non-spied goals) 
 | 
| 
 
nonvar (?x) 
 | 
 
standard Prolog 
 | 
| 
 
nospy (+args) 
 | 
 
remove 
+args
 from the list of spied goals.
 
+args may be a predicate name or a list of predicate names. Unspy all goals if 
+args
 is nil 
 | 
| 
 
not (+x) 
 | 
 
standard Prolog 
 | 
| 
 
notrace () 
 | 
 
turn off exhaustive tracing for debugged goals 
 | 
| 
 
once (+exp) 
 | 
 
satisfy 
+exp
 as a goal once, then fail on retrying even if 
+exp
 has more solutions: this can be used to make a call deterministic so that the compiler can perform last call optimization 
 | 
| 
 
output-defrels  
  (+name ?defrels)  
 | 
 
return a list of 
defrel
 expressions derived from the dynamic clauses associated with 
?name
 
 | 
| 
 
read-term (?term) 
 | 
 
read in a term 
 | 
| 
 
recorda (+exp ?val ?ref) 
 | 
 
standard Prolog 
 | 
| 
 
recorded (+term ?val ?ref) 
 | 
 
standard Prolog 
 | 
| 
 
recordz (+exp ?val ?ref)  
 | 
 
standard Prolog 
 | 
| 
 
repeat () 
 | 
 
standard Prolog 
 | 
| 
 
retract (+clause)  
 | 
 
standard Prolog 
 | 
| 
 
setof (?exp  
       (+goal . +ex-vars) 
       ?bag) 
 | 
 
standard Prolog (unusual syntax)* 
 | 
| 
 
sort (+in ?out)  
 | 
 
standard Prolog 
 | 
| 
 
spy (+args) 
 | 
 
 spy  
+args
.  
+args 
may be a predicate name or a list of predicate names. If arity is not mentioned for a predicate name, predicates of all aritys with that  name are spied. 
 | 
| 
 
trace () 
 | 
 
turn on tracing for debugged goals, also turn on debugging for the next top level goal 
 | 
| 
 
translate-vars  
  (?intern ?extern) 
 | 
 
translate back and forth between internal and external variable representations. Can be used to pretty up the writing of terms containing variables 
 | 
| 
 
true () 
 | 
 
standard Prolog 
 | 
| 
 
unleash (+event-spec) 
 | 
 
Undo leashing for 
+event-spec. 
+event-spec may be a port or a list of ports. If 
+event-spec 
is nil, all ports are unleashed. 
 | 
| 
 
var (?x) 
 | 
 
standard Prolog 
 |