Translating R7RS standard library imports to R6RS equivalents
R7RS imports like (scheme base)
are not currently translated to R6RS imports like (rnrs)
.
It's not too hard to import the required identifiers from (rnrs)
along with some shims for the different ones, but how do we avoid importing other rnrs
definitions that the library is not using?
- We could use huge
only
clauses but that may get a bit unwieldy. - We could code-walk the R7RS library to find out which identifiers it contains. If some of those identifiers are exported by
rnrs
but not by the R7RS imports listed by the library, we could(import (except (rnrs) those identifiers))
.