The following predicates take a term as their argument. They are provided to check the type of that term. The reference pages for these predicates include examples of their use.

`atom(`

`+T`)*ISO*term

`T`is an atom`atomic(`

`+T`)*ISO*term

`T`is an atom or a number`callable(`

`+T`)*ISO*`T`is an atom or a compound term`compound(`

`+T`)*ISO*`T`is a compound term`db_reference(`

`+X`)*since release 4.1*`X`is a db_reference`float(`

`+N`)*ISO*`N`is a floating-point number`ground(`

`+T`)*ISO*term

`T`is a nonvar, and all substructures are nonvar`integer(`

`+T`)*ISO*term

`T`is an integer`mutable(`

`+X`)`X`is 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)

Send feedback on this subject.