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