(import (srfi :1)) ;; works
(import (srfi :1 lists)) ;; works

The colon in :1 is a hack due to a limitation in the R6RS spec.

I recommend that Guile support both 1 and :1 (as well as the symbol |1|) by internally converting to some normal form.

(import (srfi :1 awesome-feature)) ;; also works, but maybe should warn

That should raise an error.

(use-modules (srfi srfi-1)) ;; works
(use-modules (srfi srfi-1 lists)) ;; error

The (srfi srfi-1) notation is idiosyncratic to Guile, and confuses schemers coming from any other implementation.

The correct step™ there would be to validate the name used in import
after the number against a list of accepted names.

+1

I recommend a general mechanism for library aliases.

If we were to use (srfi list), this would break the possibility to have
another srfi for lists (which is why SRFI does not do that).

Indeed. This is deliberate.

Reply via email to