1 Introduction to the FLI

The Foreign Language Interface (FLI) is an extension to LispWorks which allows you to call functions written in a foreign language from LispWorks, and to call Lisp functions from a foreign language. The FLI currently supports C (and therefore also the Win32 API for Windows users).

The main problem in interfacing different languages is that they usually have different type systems, which makes it difficult to pass data from one to the other. The FLI solves the problem of interfacing Lisp with C. It consists of FLI types that have obvious parallels to the C types and structures, and FLI functions that allow LispWorks to define new FLI types and set their values. The FLI also contains functions for passing FLI objects to C, and functions for receiving data from C.

1.1 An example of interfacing to a foreign function

1.2 Using the FLI to get the cursor position

1.3 Using the FLI to set the cursor position

1.4 An example of dynamic memory allocation

1.5 Summary

LispWorks Foreign Language Interface User Guide and Reference Manual - 13 Sep 2005