Thank you Peter.

1. SRFI-208 -> "nans" ,OK

2. "Reserved, Restricted and Equivalent SRFI Reference" SRFI-91->97, OK

3. I think (srfi :1) and (srfi srfi-1) should be the identical equal for any changes, though I'm not sure what you mean "an SRFI has global state". Could you give an example?

4. A main barrier to include SRFI-106 is that you can't import it without compiling. Well, at least in Chez Scheme, it does. But you "tens razao"(have the ration in portugues), Lol.

5. As for SRFI-114, do you mean SRFI-120? It depends on SRFI-114. Well, here's a problem *whether a withdrawn proposal performs any commonly acknowledged consensus? *At least we should clarify  what such withdrawn proposals mean to their dependants and make some rules for newbies.

6. As for R7RS things,  I'll add this form and test on as many implementations as my NixOS can, Lol. And further information I'll reply.


在 8/17/25 08:33, Peter McGoron 写道:
* I think the plural of "nan" is "nans", so SRFI-208 should be "nans".

* SRFI-106 should be included as "sockets", because even though it is not portably implementable, because it exports identifiers in a library.

* SRFI-114 should be included as "timers", because only its reference implementation depends on a withdrawn SRFI.

* Under the subsection "Reserved, Restricted and Equivalent SRFI Reference", the reference to SRFI-91 should be SRFI-97.

* Are (srfi :1) and (srfi srfi-1) the same library? If an SRFI has global state, would changes to that state be reflected in both libraries?

* Is this library only for R6RS systems? If it includes R7RS systems (I think it should), it should also include `(srfi <uinteger-10> ...)` as equivalent to the other library references for R7RS systems. I would also include it because some SRFIs use the R7RS convention in their text when referring to sublibraries (for example, SRFI-146).

Incorporating the above, I would rewrite the specification section to be more clearer like the below. This is how I understand the SRFI.

    All library references starting with the following are equivalent,
    in the sense that changing the start of the reference with another
    one of the sequences here will still refer to the same library:

        srfi srfi-<uinteger-10>
        srfi <identifier>-<uinteger-10>
        srfi <uinteger-10>

    where the <identifier> is the name given for the specified SRFI
    number in the table below, and <uinteger-10> is an SRFI number.
    <identifier> and <uinteger-10> are defined in R6RS Chapter 4
    Lexical syntax (for R7RS systems, Chapter 7.1.1, Lexical structure).

    For SRFIs with numbers less than 261, the following are also
    equivalent libraries:

        srfi :<uinteger-10>
        srfi :<uinteger-10> <identifier>

    where the <identifier> and <uinteger-10> are defined the same as in
    the previous paragraph.

    If an SRFI does not specify any library, then its identifiers are
    exported by (srfi srfi-<uinteger-10>).

    An implementation is not required to support all of the above
    references. However, if an implementation exports a library with
    a name matching the above, it must follow this specification.

    For example, on an R7RS system, the following are equivalent:

        (srfi 1)
        (srfi :1)
        (srfi :1 lists)
        (srfi srfi-1)
        (srfi lists-1)

    For example, on an R6RS system, the following are equivalent:

        (srfi srfi-146 hash)
        (srfi mappings-146 hash)
        (srfi :146 hash)
        (srfi :146 mappings hash)

-- Peter McGoron

Reply via email to