### 1.3 Library Catalogs ¶

Catalog files consist of one or more association lists. In the circumstance where a feature symbol appears in more than one list, the latter list’s association is retrieved. Here are the supported formats for elements of catalog lists:

`(feature . <symbol>)`

  Redirects to the feature named <symbol>.

`(feature . "<path>")`

  Loads file <path>.

`(feature source "<path>")` ¶

  `slib:load`s the Scheme source file <path>.

`(feature compiled "<path>" …)` ¶

  `slib:load-compiled`s the files <path> ….

`(feature aggregate <symbol> …)` ¶

  `require`s the features <symbol> ….

The various macro styles first `require` the named macro package, then just load <path> or load-and-macro-expand <path> as appropriate for the implementation.

`(feature defmacro "<path>")` ¶

  `defmacro:load`s the Scheme source file <path>.

`(feature macro-by-example "<path>")` ¶

  `defmacro:load`s the Scheme source file <path>.

`(feature macro "<path>")` ¶

  `macro:load`s the Scheme source file <path>.

`(feature macros-that-work "<path>")` ¶

  `macro:load`s the Scheme source file <path>.

`(feature syntax-case "<path>")` ¶

  `macro:load`s the Scheme source file <path>.

`(feature syntactic-closures "<path>")` ¶

  `macro:load`s the Scheme source file <path>.

Note that file names indicated as <path> may have “.scm” or another suffix appended to them, depending on the specific Scheme system you are using.