Availability:built-in
atomic(Term) :-
nonvar(Term),
\+ compound(Term).
SWI-Prolog defines the following atomic datatypes: atom (atom/1),
string (string/1),
integer (integer/1),
floating point number (float/1)
and blob (blob/2).
In addition, the symbol [] (empty list) is atomic, but not
an atom. See section 5.1.