>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.

Reply via email to