Next: Catalog Vicinities, Previous: Library Catalogs, Up: The Library System [Contents][Index]
At the start of an interactive session no catalog is present, but is
created with the first catalog inquiry (such as (require
'random)
). Several sources of catalog information are combined to
produce the catalog:
implementation-invicinity
, which is created by loading
mkimpcat.scm in implementation-invicinity
if it exists.
cd
to this directory before starting the
Scheme session.
SLIB combines the catalog information which doesn’t vary per user into the file slibcat in the implementation-vicinity. Therefore slibcat needs change only when new software is installed or compiled. Because the actual pathnames of files can differ from installation to installation, SLIB builds a separate catalog for each implementation it is used with.
The definition of *slib-version*
in SLIB file
require.scm is checked against the catalog association of
*slib-version*
to ascertain when versions have changed. It is
a reasonable practice to change the definition of
*slib-version*
whenever the library is changed. If multiple
implementations of Scheme use SLIB, remember that recompiling one
slibcat will update only that implementation’s catalog.
The compilation scripts of Scheme implementations which work with SLIB
can automatically trigger catalog compilation by deleting
slibcat or by invoking require
of a special feature:
This will load mklibcat, which compiles and writes a new slibcat.
Another special feature of require
erases SLIB’s catalog,
forcing it to be reloaded the next time the catalog is queried.
Removes SLIB’s catalog information. This should be done before saving an executable image so that, when restored, its catalog will be loaded afresh.
Next: Catalog Vicinities, Previous: Library Catalogs, Up: The Library System [Contents][Index]