/== (?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
|