FASL format
The system supports 2 types of FASL files (compiles lisp files): Uncompressed and compressed ones. These FASL files can be loaded into a running Lisp image. Both compressed and uncompressed fasls have the extension '.abcl'.
Uncompressed
An uncompressed fasl is a '.abcl' file and a series of '.cls' files. The .abcl file contains (textual) Lisp instructions, some of which may be to load a compiled function file (a '.cls' file). The '.cls' files are Java class files containing compiled Lisp functions: Lisp functions translated into java byte code.
Compressed
A compressed fasl is a single '.abcl' file: a zip archive containing the files as described above. The difference being that the '.abcl' file as described above has a '._' extension in the archive.
FASL loading
The FASL loader reads the instructions (mostly Lisp) from the uncompressed '.abcl' or '._' file. When so instructed, it loads a compiled function from a '.cls' file into memory, using a custom class loader to load the Java class in the memory buffer.
When the FASL is a compressed one, the compiled-functions loader finds the files it needs to load inside the .abcl (zipped) archive.