Node:Testing Prolog Terms,
Next:Unifying and Comparing Terms,
Previous:Accessing Prolog Terms,
Up:Support
Testing Prolog Terms
There is one general function for type testing of Prolog terms and a set
of specialized, more efficient, functions, one for each term type:
int SP_term_type(SP_term_ref t)
- Depending on the type of the term t, one of
SP_TYPE_VARIABLE
, SP_TYPE_INTEGER
, SP_TYPE_FLOAT
,
SP_TYPE_ATOM
, or SP_TYPE_COMPOUND
is returned.
int SP_is_variable(SP_term_ref t)
- Returns nonzero if the term is a Prolog variable, zero otherwise.
int SP_is_integer(SP_term_ref t)
- Returns nonzero if the term is a Prolog integer, zero otherwise.
int SP_is_float(SP_term_ref t)
- Returns nonzero if the term is a Prolog float, zero otherwise.
int SP_is_atom(SP_term_ref t)
- Returns nonzero if the term is a Prolog atom, zero otherwise.
int SP_is_compound(SP_term_ref t)
- Returns nonzero if the term is a Prolog compound term, zero otherwise.
int SP_is_list(SP_term_ref t)
- Returns nonzero if the term is a Prolog list, zero otherwise.
Note that only the principal functor matters: the function
returns zero if the term is the empty list, and nonzero if it's
a non-strict list.
int SP_is_atomic(SP_term_ref t)
- Returns nonzero if the term is an atomic Prolog term, zero otherwise.
int SP_is_number(SP_term_ref t)
- Returns nonzero if the term is a Prolog number, zero otherwise.