KCL generates .c files and compiles those to .o object files. I played with this year ago (via the descendant GCL: GNU Common Lisp). The
load function handles object files, like COFF or whatever. It's reminiscent of the Linux kernel modules.
See here, starting on P. 36: http://www.softwarepreservation.org/projects/LISP/kcl/doc/kc...
When KCL compiles a lambda expression, it generates a C file called "gazonk.lsp" and compiles that.
(The above paper report is a little confusing; in some places it claims that an object file has a .o suffix, but then with regard to this gazonk implicit name, it claims that the fasl file is gazonk.fasl.)