This library contains traditional Prolog predicates for testing types. They depend on the state of instantiation of their arguments, thus being of extra-logical nature.
Usage:var(X)
X is a free variable.
Usage:nonvar(X)
X is currently a term which is not a free variable.
Usage:atom(X)
X is currently instantiated to an atom.
Usage:integer(X)
X is currently instantiated to an integer.
Usage:float(X)
X is currently instantiated to a float.
Usage:number(X)
X is currently instantiated to a number.
Usage:atomic(X)
X is currently instantiated to an atom or a number.
Usage:ground(X)
X is currently ground (it contains no variables).
Usage:type(X,Y)
X is internally of type Y (var, attv, float, integer, structure, atom or list).