ECL supports callbacks in both interpreted and compiled mode. CFFI takes care of everything for you, so there is not much mention of ECL (why should it be?). If you care about the actual implementation, look at ecl / src / lsp / ffi.lsp. Signature for FFI: DEFCALLBACK (defmacro defcallback (name ret-type ((arg-name arg-type) *) & body body) In other words, it takes more or less the same arguments as DEF-FUNCTION (the syntax type is one and the same, UFFI), but it explicitly names each of the arguments (arg-name) and provides the code in lisp for execution.
source share