4.8.10 Summary of Predicates
atom(
+T)
ISO- term T is an atom
atomic(
+T)
ISO- term T is an atom or a number
callable(
+T)
- T is an atom or a compound term
compound(
+T)
ISO- T is a compound term
float(
+N)
ISO- N is a floating-point number
ground(
+T)
- term T is a nonvar, and all substructures are nonvar
integer(
+T)
ISO- term T is an integer
mutable(
+X)
- X is currently instantiated to a mutable term.
nonvar(
+T)
ISO- term T is one of atom, number, compound
(that is, T is instantiated)
number(
+N)
ISO- N is an integer or a float
simple(
+T)
- T is not a compound term; it is either atomic or a var
var(
+T)
ISO- term T is a variable (that is, T is uninstantiated)
compare(
-C,
+X,
+Y)
meta-predicate- C is the result of comparing terms X and Y
- +X
==
+Y ISO - terms X and Y are strictly identical
- +X
\==
+Y ISO - terms X and Y are not strictly identical
- +X
@<
+Y ISO - term X precedes term Y in standard order for terms
- +X
@>=
+Y ISO - term X follows or is identical to term Y in standard order for terms
- +X
@>
+Y ISO - term X follows term Y in standard order for terms
- +X
@=<
+Y ISO - term X precedes or is identical to term Y in standard order for terms
- ?T
=..
?L ISO - the functor and arguments of term T comprise the list L
- ?X
=
?Y ISO - terms X and Y are unified
- +X
\=
+Y ISO - terms X and Y no not unify
?=(
+X,
+Y)
- X and Y are either strictly identical or
do not unify
arg(
+N,
+T,
-A)
ISO- the Nth argument of term T is A
atom_chars(
?A,
?L)
ISO- A is the atom containing the character atoms in list L
atom_codes(
?A,
?L)
ISO- A is the atom containing the characters in code-list L
atom_concat(
?Atom1,
?Atom2,
?Atom12)
ISO- Atom Atom1 concatenated with Atom2 gives Atom12.
atom_length(
+Atom,
-Length)
ISO- Length is the number of characters of the atom Atom.
char_code(
?Char,
?Code)
ISO- Code is the character code of the one-char atom Char.
copy_term(
+T,
-C)
ISO- C is a copy of T in which all variables have been
replaced by new variables
copy_term(
+T,
-C,
-G)
- C is a copy of T in which all variables have been
replaced by new variables, and G is a goal for reinstating
any attributes in C
create_mutable(
+Datum,
-Mutable)
- Mutable is a new mutable term with current value
Datum.
dif(
+X,
+Y)
- X and Y are constrained to be different.
frozen(
+Var,
-Goal)
- The goal Goal is blocked on the variable
Var.
functor(
?T,
?F,
?N)
ISO- the principal functor of term T has name F and arity N
get_mutable(
-Datum,
+Mutable)
- The current value of the mutable term Mutable is
Datum.
name(
?A,
?L)
- the code-list of atom or number A is L
number_chars(
?N,
?L)
ISO- N is the numeric representation of list of
character atoms L
number_codes(
?N,
?L)
ISO- N is the numeric representation of code-list L
numbervars(
+T,
+M,
-N)
- number the variables in term T from M to N-1
sub_atom(
+Atom,
?Before,
?Length,
?After,
?SubAtom)
ISO- The characters of SubAtom form a sublist of the characters of
Atom, such that the number of characters preceding SubAtom
is Before, the number of characters after SubAtom is
After, and the length of SubAtom is Length.
unify_with_occurs_check(
?X,
?Y)
ISO- True if X and Y unify to a finite (acyclic)
term.
- ?T
=..
?L ISO - the functor and arguments of term T comprise the list L
append(
?A,
?B,
?C)
- the list C is the concatenation of lists A and B
keysort(
+L,
-S)
- the list L sorted by key yields S
length(
?L,
?N)
- the length of list L is N
member(
?X,
?L)
- X is a member of L
memberchk(
+X,
+L)
- X is a member of L
nonmember(
+X,
+L)
- X is not a member of L
sort(
+L,
-S)
- sorting the list L into order yields S
Send feedback on this subject.