Availability:built-in
a()
, see section
5). Type is one of atom
,
compound
, callable
or atomic
. Type
must be instantiated if Name is an atom and Arity
is 0 (zero). In other cases Type may be a variable. This
predicate is true if Term (either initially or after haveing
been created from Name and Type) and Type
are related as below
- If Term is compound (including zero-arity compounds),
Type must be
compound
orcallable
. If Type is unbound is is unified withcompound
. - If Term is an atom, Type must be
atom
orcallable
. If Type is unbound is is unified withatom
. - Else Type is unified with
atomic
.
This predicate provides a safe round trip for zero-arity compounds and atoms. It can also be used as a variant of functor/3 that only processes compound or callable terms. See also compound/1, callable/1 and compound_name_arity/3.