Revised(5) Scheme
1.3.1 Primitive; library; and optional features
It is required that every implementation of Scheme support all
features that are not marked as being optional. Implementations are
free to omit optional features of Scheme or to add extensions,
provided the extensions are not in conflict with the language reported
here. In particular, implementations must support portable code by
providing a syntactic mode that preempts no lexical conventions of this
report.
To aid in understanding and implementing Scheme, some features are marked
as library. These can be easily implemented in terms of the other,
primitive, features. They are redundant in the strict sense of
the word, but they capture common patterns of usage, and are therefore
provided as convenient abbreviations.