Is there a standardized way to load a SRFI?

chicken-scheme, guile, racket, scheme

Solution

Yes, in R6RS and R7RS, use:

(import (srfi …))

`import` is the 'standard form' for this. The trouble is that the `…` can depend on the implementation. So the problem is moved down one level. I've seen:

(import (srfi :0))
(import (srfi srfi-0)

in different implementations.

Problem

In Chicken it looks like I can `(use srfi-9)`, but in Guile it looks like you say `(use-modules (srfi srfi-9))`, in Racket it is `(require srfi/9)`. Is there a standardized `use-module` form that should work across all scheme implementations (so that I can write portable code)?

Original source