[armedbear-cvs] r12278 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Sat Nov 14 20:57:45 UTC 2009


Author: ehuelsmann
Date: Sat Nov 14 15:57:42 2009
New Revision: 12278

Log:
Add some loader process documentation.

Modified:
   trunk/abcl/src/org/armedbear/lisp/Load.java

Modified: trunk/abcl/src/org/armedbear/lisp/Load.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Load.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Load.java	Sat Nov 14 15:57:42 2009
@@ -47,6 +47,23 @@
 import java.util.zip.ZipFile;
 import java.util.zip.ZipInputStream;
 
+/* This file holds ABCL's (FASL and non-FASL) loading behaviours.
+ *
+ * The loading process works like this:
+ *   The loader associates the input filename with a special variable
+ *   and starts evaluating the forms in the file.
+ *
+ *   If one of the forms is (INIT-FASL :VERSION <version>), from that
+ *   point the file is taken to be a FASL.
+ *   The FASL loader takes over and retrieves the file being loaded
+ *   from the special variable and continues loading from there.
+ *
+ *   Note: In order to prevent re-opening the ZIP file again and again,
+ *    ABCL keeps a cache of opened zip files, which are retrieved to load
+ *    .cls (compiled-function files) from the ZIP while loading the main
+ *    ._ file with FASL loading instructions.
+ */
+
 public final class Load extends Lisp
 {
     public static final LispObject load(String filename)
@@ -59,7 +76,7 @@
                     Symbol.LOAD_PRINT.symbolValue(thread) != NIL,
                     true);
     }
-    
+
     private static final File findLoadableFile(final String filename,
                                                final String dir)
     {
@@ -93,7 +110,7 @@
                                         boolean verbose,
                                         boolean print,
                                         boolean ifDoesNotExist)
-        {
+    {
         return load(pathname, filename, verbose, print, ifDoesNotExist, false);
     }
 




More information about the armedbear-cvs mailing list