4.5 Verify Type of a Term
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • Built-in Predicates
        • Verify Type of a Term
          • var/1
          • nonvar/1
          • integer/1
          • float/1
          • rational/1
          • rational/3
          • number/1
          • atom/1
          • blob/2
          • string/1
          • atomic/1
          • compound/1
          • callable/1
          • ground/1
          • cyclic_term/1
          • acyclic_term/1
    • Packages
Availability:built-in
[ISO]atomic(@Term)
True if Term is bound (i.e., not a variable) and is not compound. Thus, atomic acts as if defined by:
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.