Next: , Previous: , Up: Top   [Contents][Index]

Appendix B Glossary

aggregate type

A CFFI type for C data defined as an organization of data of simple type; in structures and unions, which are themselves aggregate types, they are represented by value.

foreign value

This has two meanings; in any context, only one makes sense.

When using type translators, the foreign value is the lower-level Lisp value derived from the object passed to translate-to-foreign (see translate-to-foreign). This value should be a Lisp number or a pointer (satisfies pointerp), and it can be treated like any general Lisp object; it only completes the transformation to a true foreign value when passed through low-level code in the Lisp implementation, such as the foreign function caller or indirect memory addressing combined with a data move.

In other contexts, this refers to a value accessible by C, but which may only be accessed through CFFI functions. The closest you can get to such a foreign value is through a pointer Lisp object, which itself counts as a foreign value in only the previous sense.

simple type

A CFFI type that is ultimately represented as a builtin type; CFFI only provides extra semantics for Lisp that are invisible to C code or data.