Compiled code storage for Scheme48 Taylor R. Campbell This library for Scheme48 implements storage of compiled code on the disk in two different formats, and a fast-loader for them, to elide unnecessary compilation of code every time Scheme48 loads a library. Taylor R. Campbell wrote this code and its associated documentation, which are placed in the Public Domain. All warranties are disclaimed. This library uses TRC's s48-fasl library for the actual storage facility, available at . Packages are stored in three parts: early bindings, template, and debug data. The early bindings of a package are enough to compile any other packages; most importantly, they include macro definitions. The template is the compiled code; theoretically, if the compiler were slow, the template could be generated and dumped in parallel with the rest of the compilation process, since it requires only early bindings of other packages. Debug data is dumped separately from templates in the interest of storage efficiency. Bundles are collections of definitions to be loaded into the config packages of Scheme48 systems, and associated packages to be loaded. They can be used to collect libraries into easily distributable individual files, for example. [Better and more comprehensive documentation to be written.] The files in which all these are stored is completely customizable. See the PACKAGE-FILENAMES structure for details; it exports a number of fluid-bound cells for controlling this. The BUNDLE-FASDUMPER and BUNDLE-FASLOADER structures export procedures for dumping and loading bundles. The PACKAGE-FASDUMPER and PACKAGE-FASLOADER structures export procedures for dumping and loading individual packages. The PACKAGE-PHASES structure exports procedures for operating on the different phases of a package's life -- early-binding (including macro expansion), compilation, and execution. It can be used to provide a suitable substitute for the ENSURE-LOADED procedure from the structure ENSURES-LOADED. The PACKAGE-STATE structure exists to glue extra information onto package objects. It involves space leaks; this will be fixed at some point.