Section "atomic"

The mapping to classes is lean, in that only Prolog variables and Prolog structures have their own classes. They can be accessed directly through these classes and their exposed constructors and fields. Otherwise, the objects form the host language are used to represent what remains as Prolog atomics.

Prolog atoms are simply mapped to host language strings. No atom table is maintained that would need garbage collection on our side. This does not imply that there is no predicate table maintained by the Prolog system. Among the Prolog atomics are Prolog references, which are everything that is neither a Prolog atom nor a Prolog number.

The following atomic API calls are provided:

is_atom(T): host language
Check whether the object T is an atom.
is_number(T): host language
Check whether the object T is a number.
unify(S, T): host language
Determine whether the two terms S and T unify.
equal_term(S, T): host language
Determine whether the two terms S and T are syntactically equivalent.
compare_term(S, T): host language
Return the syntactic relationship between the two terms S and T.
is_integer(T): host language
Check whether the object T is an integer.
is_float(T): host language
Check whether the object T is a float.
is_infinite(T): host language
Check whether an object T is an infinite.
narrow_float(T): host language
Return the Prolog number T narrowed to a float.
norm_float(T): host language
Norm a host float T to a Prolog float.

Use Privacy (c) 2005-2026 XLOG Technologies AG