[ Reference Manual | Alphabetic Index ]# Type Testing

Meta-logical built-ins to test the type of terms
## Predicates

**acyclic_term(?Term)**
- Succeeds if Term is acyclic (finite)
**atom(?Atom)**
- Succeeds if Atom is a Prolog atom.
**atomic(?Term)**
- Succeeds if Term is an atom, a number, or a string.
**breal(?Breal)**
- Succeeds if Breal is a bounded real number.
**callable(?Term)**
- Succeeds if Term is callable, i.e. of type atom or compound.
**compound(?Term)**
- Succeeds if Term is of type compound, i.e. a structure or a list.
**current_atom(?Atom)**
- Succeeds if Atom is an atom in the system.
**current_functor(?PredSpec)**
- Succeeds if PredSpec is a functor known to the system.
**float(?Real)**
- Succeeds if Real is a floating point number.
**free(?Var)**
- Succeeds if Var is a free variable, not an attributed one.
**get_var_info(?Var, ?InfoName, -Value)**
- Succeeds if Var is an uninstantiated variable, InfoName is a valid
information name and the information value Value unifies with the value of
the information.
**ground(?Term)**
- Succeeds if Term is ground.
**integer(?Integer)**
- Succeeds if Integer is an integer number.
**is_array(?Term)**
- Succeeds if Term is an array.
**is_event(?Term)**
- Succeeds if Term is an event name or handle
**is_handle(?Term)**
- Succeeds if Term is an object handle
**is_handle(?Term, -Kind)**
- Succeeds if Term is an object handle of kind Kind
**is_list(?Term)**
- Succeeds if Term is a proper list.
**is_suspension(?Term)**
- Succeeds if Term is a sleeping suspension.
**meta(?Var)**
- Succeeds if Var is an attributed variable.
**nonground(?VarTerm)**
- Succeeds if VarTerm is not ground.
**nonground(?Term, -Variable)**
- Succeeds if Term is not a ground term and binds Variable to one of the
variables inside Term.
**nonground(+N, ?Term, -VarList)**
- Succeeds if Term contains at least N different variables, and returns N of
them in the list VarList.
**nonvar(?Term)**
- Succeeds if Term is instantiated.
**number(?Number)**
- Succeeds if Number is a number.
**rational(?Rational)**
- Succeeds if Rational is a rational number.
**real(?Real)**
- Succeeds if Real is a real (float or breal) number.
**string(?String)**
- Succeeds if String is a string.
**type_of(?Term, -Type)**
- Succeeds if Type is the data type of the term Term.
**var(?Var)**
- Succeeds if Var is a variable or an attributed variable.

Generated from typetest.eci on 2017-09-08 15:30