I was just re-reading SRFI 228 in preparation for finalization when I came
across this paragraph, which hadn't caught my attention originally, but
which a recent discussion
<https://srfi-email.schemers.org/srfi-162/msg/21341552/> about SRFI
versioning on the SRFI 162 mailing list made me think of in a new light:

All identifiers defined in this SRFI are exported in the (srfi 228)
library. However, as in the case of SRFI 162, it is hoped and intended that
they will simply be added to the existing comparator libraries of RnRSes
and Scheme implementations, rather than being in a separate library.

This would amount, if applied to earlier SRFIs like 128 and 162, to
retroactively changing the meaning of the APIs that they export, which has
been viewed as a mistake, and which we're therefore trying not to do
again.  Such a change would have all the problems mentioned in the previous
discussion, e.g. not knowing whether importing SRFI 162, for example, would
include these new procedures in one Scheme implementation vs. another.

What's the right way to solve this problem?  Would it be reasonable to add
a sentence saying that this paragraph should not be construed to mean that
SRFI 128 or 162 should export the new identifiers — that only if the
bindings in 128 and/or 126 are built into the implementation should SRFI
228's identifiers also be built in?

Reply via email to