Next Previous Top Contents Index

LispWorks Foreign Language Interface

Glossary

aggregate type

An FLI type which does not have a simple representation in memory and is therefore represented as a "boxed" Lisp object. Arrays, string, structure, and unions are all aggregate types.

callable function

A Lisp function, defined with the FLI macrodefine-foreign-callable, which can be called from a foreign language.

coerced pointer

A coerced pointer is a pointer that is dereferenced with the:type key in order to return the value pointed to as a different type than specified by the pointer type. For example, a pointer to a byte can be coerced to return a boolean on dereferencing.

FLI

The Foreign Language Interface, which consists of the macros, functions, types and variables defined in thefli package.

FLI code

Code written in Lisp using the functions, macros and types in thefli package.

FLI function

A function in thefli package used to interface Lisp with a foreign language.

FLI type

A data type specifier in thefli package used to define data objects that interface between Lisp and the foreign language. For example, a Clong might be passed to LispWorks through an instance of the FLI type:long, from which it is transferred to a Lispinteger.

foreign callable function

See callable function.

foreign function

A Lisp function, defined using the FLI macrodefine-foreign-function, which calls a function written in a foreign language. A foreign function contains no body, consisting only of a name and a list of arguments. The function in the foreign language provides the body of the foreign function.

foreign language

A language to which Lisp can be interfaced using the FLI. Currently the FLI interfaces to C, and therefore also the Win32 API functions.

immediate type

An FLI type that can be represented within a single register of memory. Immediate types include all integer, floating point, character, byte, and boolean types.

pointer

An FLI type consisting of an address and a type specification. A pointer normally points to the memory location of an instance of the type specified, although there might not actually be an allocated instance of the type at the pointer location.

wrapper

A description of the:wrapper FLI type which "wraps" around an object, allowing data to be passed to or obtained from the object as though it was of a different type. A wrapper can be viewed as a set of conversion functions defined on the object which are automatically invoked when the wrapped object is accessed.

aggregate type
callable function
coerced pointer
FLI
FLI code
FLI function
FLI type
foreign callable function
foreign function
foreign language
immediate type
pointer
wrapper

LispWorks Foreign Language Interface - 12 Oct 1998

Next Previous Top Contents Index

Generated with Harlequin WebMaker