GNU Libffcall is a collection of four libraries which can be used to build foreign function call interfaces in embedded Interpreters:

Avcall - Calling C functions with variable arguments. Vacall - C functions accepting variable argument prototypes. Trampoline - Closures as first-class C functions. Callback - Closures with variable arguments as first-class C functions (a re-entrant combination of vacall and trampoline).

Foreign Language Interface allows one to call a function implemented in C from inside CLISP and to do many related things, like inspect and modify foreign memory, define a “callback” (i.e., make a lisp function available to the C world), etc. To use this facility, one writes a foreign function description into an ordinary Lisp file, which is then compiled and loaded as usual; or just evaluates the appropriate form in the read-eval-print loop. This will be served as a testing part for cleanup.

My GSOC project focuses on two libraries : avcall cleanup which use GNU CLISP.





  • Avneet