Each file in the table below is descibed in terms of its file-system independent vicinity (see Vicinity). The entries of a catalog in the table override those of catalogs above it in the table.
This file contains the associations for the packages comprising SLIB, the implcat and the sitecats. The associations in the other catalogs override those of the standard catalog.
This file contains the associations specific to an SLIB installation.
This file contains the associations specific to an implementation of
Scheme. Different implementations of Scheme should have different
if present, creates implcat.
This file contains the associations specific to a Scheme implementation installation.
This file contains the associations specific to an SLIB user.
This file contains associations affecting only those sessions whose
working directory is
Here is an example of a usercat catalog. A program in this
directory can invoke the ‘run’ feature with
;;; "usercat": SLIB catalog additions for SIMSYNCH. -*-scheme-*- ( (simsynch . "../synch/simsynch.scm") (run . "../synch/run.scm") (schlep . "schlep.scm") )
Copying usercat to many directories is inconvenient. Application programs which aren’t always run in specially prepared directories can nonetheless register their features during initialization.
Reads file named by string catalog in vicinity, resolving all paths relative to vicinity, and adds those feature associations to *catalog*.
catalog:read would typically be used by an application program
having dynamically loadable modules. For instance, to register
factoring and other modules in *catalog*, JACAL does:
(catalog:read (program-vicinity) "jacalcat")
For an application program there are three appropriate venues for registering its catalog associations: