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)
|
Am Fr., 25. Nov. 2022 um 23:31 Uhr schrieb Marc Feeley <xxxxxx@iro.umontreal.ca>: > > > On Nov 25, 2022, at 1:37 PM, Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote: > > > > Am Fr., 25. Nov. 2022 um 08:00 Uhr schrieb Marc Nieper-Wißkirchen > > <xxxxxx@gmail.com>: > > > > [...] > > > >> I would still prefer numbers (when library versioning is available) > >> because they won't clash with a hypothetical (srfi :999 chapters > >> final) library (i.e. when a version name is actually a library name). > >> With version numbers, we don't have the question of how to order the > >> library name parts, and with names instead of version numbers, we > >> cannot easily express in code "an implementation that covers at least > >> erratum-1". I still don't see why it shouldn't be possible to have a > >> little version information after each erratum or PFN entry so that > >> implementations can use them if they want. Alternatively, we can > >> agree on the convention that versions look like (2022 7 19) (for an > >> implementation of everything up to the PFN/erratum added on > >> 2022-07-19). So (srfi :1 (1999 10 9)) implements the original version > >> of SRFI 1, (srfi :1 (2022 10 22)) implements the new specification of > >> reduce-right, and (srfi :1) stays for any version. > > > > The more I think about it, the more I like the idea of optionally > > versioning SRFI implementations using a datum. The advantages of this > > are the following: It does not need any new agreement; dates are > > already incorporated into SRFIs. It goes along well with existing > > mechanisms for library versioning; this includes the monotonicity of > > versions. It is entirely optional. When incorporated into a library > > definition, it allows seeing at a glance whether this particular > > implementation has been updated to the newest erratum/PFN. It is > > orthogonal to SRFI 97 or other naming conventions for libraries. > > When a SRFI has been finalized it's spec should be immutable, for the reasons I’ve explained before. Minor corrections to the text are OK, but not corrections that change the API and functionality. A small proportion of the SRFIs have not followed that golden rule, so let’s not create an official way to version SRFIs… that would be a step in the wrong direction! Rather we should ensure that such breaking changes don’t happen again. I didn't say that I wanted some kind of versioning just to have versioning. My point is that versioning is needed when the specs de facto do not stay immutable. As the process is currently run, there are changes or recommendations to changes. It seems to me that we haven't reached a consensus about how to handle the question of immutability in the future. There are (at least) the following options: 1. Finalized SRFIs are immutable. No errata that would change the meaning of a correct implementation are allowed. (This seems to be along Lassi's thinking: some things will be broken, just don't use them.) 2. Errata can be applied to finalized SRFIs where an erratum can fix the text or the API when it becomes clear that the author's intention isn't correctly described. (This does not allow fixing a broken design.) 3. Like 2. but also PFNs are allowed to be attached to finalized SRFIs. (These are often in the form of recommendations.) The current practice seems to be 3. For both 2. and 3., what is implemented by implementations of the same SRFI will differ. In these cases, some kind of versioning is needed; otherwise, a portable program would only be able to use an intersection of features, but even this intersection could shrink over time. I think that 3. works (and has worked), but we need a way to document and test which version a particular implementation supports. If we agree on 1. (given the smallness of our group I am not sure whether we can be that strict), ignore all my requests about adding official versions/tags.