> R7RS provides the 'cond-expand' form in '(scheme base)'
> and gives a definition for it on page 72 as a syntax-rules
> macro. The definition uses the literal identifier
> 'library', which, however, is not being bound by the
> '(scheme base)' library. Thus, a feature requirement as
> '(library <library-name>)' can only be matched as long as
> 'library' remains unbound.
> This is in contrast to the other auxiliary syntax in R7RS,
> like 'else' and 'syntax-rules', which are required to be
> bound in '(scheme base)'.
Wasn't the library form initially supposed to be sort of "out of scope"
of the syntax elements? Thus, I wouldn't expect library to be bound as
an auxiliary syntax, though I guess I'd have to refresh myself
significantly on all of this. I guess if the library auxiliary syntax
were added, then one would need to make sure that it somehow doesn't
mess with the multiple uses of the term "library" throughout the text? I
do recall that the library form outside of cond-expand is not required
to be a syntax element in R7RS Small.
Any news about the proper mailing list to use?
Alex Shinn scripsit:
> The define-library form is definitely outside the realm of syntax.
Yes. But this isn't about define-library forms. It's about the
use of the keyword `library` in cond-expand macros