6.2 Conversion of Prolog terms to Elisp objects ¶
Sweep converts Prolog terms into Elisp object to allow efficient
processing of Prolog query results in Elisp (see Definition of sweeprolog-next-solution).
- Prolog strings are converted to equivalent Elisp strings.
- Prolog integers are converted to equivalent Elisp integers.
- Prolog floats are converted to equivalent Elisp floats.
- A Prolog atom
foo is converted to a cons cell (atom . "foo").
- The Prolog empty list
[] is converted to the Elisp nil object.
- Prolog lists are converted to Elisp cons cells whose
car and cdr are
the representations of the head and the tail of the list.
- Prolog compounds are converted to list whose first element is the
symbol
compound. The second element is a string denoting the
functor name of the compound, and the rest of the elements are the
arguments of the compound in their Elisp representation.
- All other Prolog terms (variables, blobs and dicts) are currently
represented in Elisp only by their type:
- Prolog variables are converted to the symbol
variable,
- Prolog blobs are converted to the symbol
blob, and
- Prolog dicts are converted to the symbol
dict.