PLT MzLib: Libraries Manual Compilation Manager

(make-compilation-manager-load/use-compiled-handler)      PROCEDURE

Returns a procedure suitable as a value for the current-load/use-compiled parameter (see section in PLT MzScheme: Language Manual). The returned procedure automatically compiles source files to a .zo file if

  • the file is expected to contain a module (i.e., the second argument to the handler is a symbol);

  • the value of current-eval, current-load, and current-namespace is the same as when make-compilation-manager-load/use-compiled-handler was called; and

  • either the source file is newer than the .zo file in the compiled subdirectory, or no .dep file exists next to the .zo file, or the version in the .dep does not match the result of (version), or one of the files listed in the .dep file has a timestamp newer than the one recorded in the .dep file.

After the handler procedure compiles the .zo file, it creates a corresponding .dep file that lists the current version, plus the timestamp for every file that is required by the module in the compiled file (including require-for-syntaxes).

The handler caches timestamps when it checks .dep files, and the cache is maintained across calls to the same handler. The cache is not consulted to compare the immediate source file to its .zo file, which means that the caching behavior is consistent with the caching of the default module name resolver (see section 5.4 in PLT MzScheme: Language Manual).

(managed-compile-zo file)      PROCEDURE

Compiles the given module source file to a .zo, installing a compilation-manager handler while the file is compiled, and creating a .dep file to record the timestamps of immediate files used to compile the source (i.e., files required in the source, including require-for-syntaxes).

(manager-trace-handler proc [procedure])      

A parameter whose value is a procedure to return a trace string for compilation-manager actions. The procedure receives a single string argument, and its result is ignored.

(trust-existing-zos on? [procedure])      

A parameter that is intended for use by Setup PLT when installing with pre-built .zo files. It causes a compilation-manager load/use-compiled handler to ``touch'' out-of-date .zo files instead of re-compiling from source.