>Is anything except for (srfi ...) and (rnrs ...) expected to be portable? I thought till now that if I want my code portable, an easy way would be to restrict my imports to these. >What else is there that actually is portable, despite not being in these? Maybe (scheme ...) is portable as well (idk)? (That’s for a RnRS, don’t recall the exact version). That said, I think that in Scheme, standard is quite different from portable – if something standard is implemented, it will be (mostly) according to the standard, so in this way it is ‘portable’, but that’s a big ‘if’. For large Schemes (and small Schemes for which the RnRS or SRFI stuff is implemented in a separate library that can easily be installed(*)), I don’t expect much trouble, but for very minimalistic (or outdated Schemes, but that holds for other languages as well) you might possibly be in trouble. (As mentioned earlier, I also want to mention that (srfi srfi-N) is not portable, it’s a Guile-ism.) (*) and for small Schemes where the RnRS / SRFI stuff is implemented as a RnRS library importing only standard RnRS modules. Best regards, Maxime Devos.