PL_get_*()
also
validate the type and thus the two sections below are equivalent.
if ( PL_is_atom(t) ) { char *s; PL_get_atom_chars(t, &s); ...; } or char *s; if ( PL_get_atom_chars(t, &s) ) { ...; }
VersionĀ 7 added PL_NIL
, PL_BLOB
,
PL_LIST_PAIR
and PL_DICT
. Older versions
classify PL_NIL
and PL_BLOB
as PL_ATOM
,
PL_LIST_PAIR
as PL_TERM
and do not have dicts.
PL_VARIABLE | A variable or attributed variable |
PL_ATOM | A Prolog atom |
PL_NIL | The constant [] |
PL_BLOB | A blob (see section 12.4.10.2) |
PL_STRING | A string (see section 5.2) |
PL_INTEGER | A integer |
PL_RATIONAL | A rational number |
PL_FLOAT | A floating point number |
PL_TERM | A compound term |
PL_LIST_PAIR | A list cell ([H|T] ) |
PL_DICT | A dict (see section 5.4)) |