Email list hosting service & mailing list manager

Amending libraries, versioning Shiro Kawai (21 Nov 2022 01:50 UTC)
Re: Amending libraries, versioning Arthur A. Gleckler (21 Nov 2022 02:15 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (21 Nov 2022 06:55 UTC)
Re: Amending libraries, versioning Lassi Kortela (21 Nov 2022 12:53 UTC)
Re: Amending libraries, versioning Arthur A. Gleckler (22 Nov 2022 19:46 UTC)
Re: Amending libraries, versioning John Cowan (22 Nov 2022 23:00 UTC)
Re: Amending libraries, versioning shiro.kawai@xxxxxx (22 Nov 2022 23:25 UTC)
Re: Amending libraries, versioning John Cowan (23 Nov 2022 02:29 UTC)
Re: Amending libraries, versioning Shiro Kawai (23 Nov 2022 03:31 UTC)
Re: Amending libraries, versioning Shiro Kawai (23 Nov 2022 04:37 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 10:07 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 07:05 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 10:05 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 10:09 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 10:42 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 11:11 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 11:17 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 11:33 UTC)
Re: Amending libraries, versioning John Cowan (24 Nov 2022 22:39 UTC)
Re: Amending libraries, versioning Lassi Kortela (24 Nov 2022 23:10 UTC)
Re: Amending libraries, versioning John Cowan (24 Nov 2022 23:50 UTC)
Re: Amending libraries, versioning Lassi Kortela (25 Nov 2022 09:23 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (25 Nov 2022 10:48 UTC)
Re: Amending libraries, versioning Lassi Kortela (25 Nov 2022 13:03 UTC)
Re: Amending libraries, versioning Marc Feeley (25 Nov 2022 13:29 UTC)
Re: Amending libraries, versioning Arthur A. Gleckler (25 Nov 2022 16:01 UTC)
Re: Amending libraries, versioning Lassi Kortela (25 Nov 2022 17:31 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (25 Nov 2022 17:56 UTC)
Re: Amending libraries, versioning Lassi Kortela (25 Nov 2022 22:46 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (26 Nov 2022 11:32 UTC)
Re: Amending libraries, versioning Arthur A. Gleckler (25 Nov 2022 04:35 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (25 Nov 2022 07:01 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (25 Nov 2022 18:38 UTC)
Re: Amending libraries, versioning Marc Feeley (25 Nov 2022 22:31 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (26 Nov 2022 09:24 UTC)
Re: Amending libraries, versioning Shiro Kawai (23 Nov 2022 11:36 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 11:45 UTC)
Re: Amending libraries, versioning Marc Feeley (23 Nov 2022 13:58 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 14:23 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 15:16 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 15:22 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (23 Nov 2022 15:54 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 17:29 UTC)
Re: Amending libraries, versioning Arthur A. Gleckler (23 Nov 2022 23:59 UTC)
Re: Amending libraries, versioning Lassi Kortela (24 Nov 2022 08:20 UTC)
Re: Amending libraries, versioning John Cowan (24 Nov 2022 22:06 UTC)
Re: Amending libraries, versioning Marc Nieper-Wißkirchen (25 Nov 2022 07:09 UTC)
Re: Amending libraries, versioning Lassi Kortela (23 Nov 2022 11:25 UTC)

Re: Amending libraries, versioning Lassi Kortela 21 Nov 2022 12:52 UTC

 From SRFI 162:

> This SRFI provides a few extra procedures and comparators to go with SRFI 128, Comparators. Implementers are urged to add them to their SRFI 128 libraries, for which reason they are not packaged as a separate library.
Sorry, but this is madness :) How did this language make it past several
people into the final document?

Clearly (import (srfi 128)) should import the stuff in SRFI 128. We
can't expect the users of a SRFI to read other SRFIs to figure out who
put what procedures in whose library.

Just as clearly, we should not have a maze of Post-Finalization Notes
that refer to each other and must be understood as a web to use the
SRFIs correctly. Sprawling PFNs erode the meaning of the "final" status.

SRFIs are supposed to be finalized. Proposals which prove unstable
should be withdrawn, possibly to be submitted again as new SRFIs once
more experimentation has been done.

What if an old SRFI is fine except for a few missing procedures? It's
inevitable - that's going to be the fate of a lot of them. No harm done.
Users should import both the old and the new SRFI, or the new SRFI
should clone all the good stuff from the old.

> (Personally, I'd like that finalized srfis won't change except an apparent bug or oversight.  Any additional changes would be in a separate srfi library.

+1. I'd expect virtually everyone to want that.

> However, the libraries referred by a common name such as (scheme comparator) may evolve, if it is versioned.)

> Until R7RS-large is done, (scheme comparator) should have some (0 x y) version, which will then be tagged (1 0 0) (or even (7 0 0)) when the large language is finalized.

Any version number in the library name should be the number of the RnRS
edition:

(import (scheme comparator (7)))   ; R7RS
(import (scheme comparator (8)))   ; R8RS
(import (scheme comparator (9)))   ; R9RS
...

RnRS reports should not have minor or patch versions. Why did an
unfinished library get the hallowed "scheme" moniker when R7RS-large is
not even out yet?

I hope everyone realizes the bigger picture here: if SRFI and RnRS prove
unstable to the point that minor versions, pre-releast versions, notes
and patches are to be tracked by users, that undermines the legitimacy
of these institutions. The legitimacy of RnRS and SRFI is already
eroding in the minds of many schemers for similar reasons; we should
clean up our act instead of formalizing the errors of our ways.

> a program has no way to check what version of the SRFI is implemented by a particular library implementation. Some versioning would help here as well but I wasn't able to persuade Arthur.

Persuading the rest of the Scheme community is going to be the hard part.

IMHO best practice is to simply ignore treacherously
implemented/specified procedures in existing SRFIs. Write your own
reduce-right, etc.

Thank you Arthur for sticking to your guns on this issue.