Hi Guile devs, This patch improves Guile's support for SRFI module names in the R6RS and R7RS formats, i.e. (srfi :n) and (srfi n). Copying from the commit message: It was already possible to import an SRFI module by referencing it as (srfi :n) which is automatically translated to (srfi srfi-n), but this conversion was only done during import. After this change, it's also possible to define a library as (srfi :n) which is automatically translated to (srfi srfi-n) during definition. It was not possible at all to define or import SRFI module names in the R7RS format, (srfi n), where n is a non-negative exact integer. It is now possible both to define and import them as such, realized through the same kind of conversion to a canonical (srfi srfi-n) name. The patch is attached as a MIME attachment in git format-patch format. Note, by the way, that there was already a little bit of code in module/ice-9/r6rs-libraries.scm to support module names like (srfi n), but it didn't work in practice because syntax-case guards in all the "entry points" barred the possibility of using that format. Another note: r6rs-libraries.scm uses both 'identifier?' and the form 'sym?' which is defined as '(symbol? (syntax->datum x))'. It's unclear to me what the difference is and I hope my use of 'sym?' is correct. Relevant bug reports: - https://bugs.gnu.org/39601 (fixed) - https://bugs.gnu.org/40371 (partly fixed) Taylan