status: draft (2026-10-08)
keywords: Modules
R7RS Scheme allows programs to query library presence at macro-expansion time using
(cond-expand ((library ⟨library name ⟩) ...)).
However, when an implementation
ships a shared library tree across interpreters built with different feature configurations,
or when third-party libraries depend on conditionally present implementation features, standardizing
library presence detection becomes problematic. This proposal specifies library mask files
(mask.slm), a declarative mechanism placed in library root directories to dynamically
mask unavailable libraries based on the current feature set without requiring physical file removal
or upfront parsing of library contents.