Changes between Initial Version and Version 1 of FaslFormatAndLoading


Ignore:
Timestamp:
11/01/08 16:43:36 (13 years ago)
Author:
ehuelsmann
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FaslFormatAndLoading

    v1 v1  
     1= FASL format =
     2
     3The 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'.
     4
     5== Uncompressed ==
     6
     7An 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.
     8
     9== Compressed ==
     10
     11A 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.
     12
     13= FASL loading =
     14
     15The 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.
     16
     17When the FASL is a compressed one, the compiled-functions loader finds the files it needs to load inside the .abcl (zipped) archive.