Libraries at scheme.org? Lassi Kortela (26 Jan 2021 22:49 UTC)
Re: Libraries at scheme.org? Vladimir Nikishkin (27 Jan 2021 01:28 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 07:28 UTC)
Re: Libraries at scheme.org? Vladimir Nikishkin (27 Jan 2021 01:34 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 07:46 UTC)
Re: Libraries at scheme.org? Arvydas Silanskas (27 Jan 2021 08:26 UTC)
Re: Libraries at scheme.org? Marc Nieper-Wißkirchen (27 Jan 2021 08:36 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 08:51 UTC)
Re: Libraries at scheme.org? Arvydas Silanskas (27 Jan 2021 10:34 UTC)
Re: Libraries at scheme.org? Marc Feeley (27 Jan 2021 13:17 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 14:07 UTC)
Re: Libraries at scheme.org? Marc Feeley (27 Jan 2021 16:28 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 17:34 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 18:10 UTC)
Re: Libraries at scheme.org? Marc Feeley (27 Jan 2021 19:54 UTC)
Re: Libraries at scheme.org? Lassi Kortela (29 Jan 2021 13:28 UTC)
Re: Libraries at scheme.org? Lassi Kortela (27 Jan 2021 08:37 UTC)
Re: Libraries at scheme.org? Duy Nguyen (28 Jan 2021 10:29 UTC)

Re: Libraries at scheme.org? Lassi Kortela 27 Jan 2021 08:51 UTC

> R6RS libraries are versioned. Any package manager/library repository
> shouldn't add a second layer of versioning on top of it but understand it.

Thanks Marc! So I'm not the only one in favor of this crazy idea :)

We could start off by propagating the package version into to library
version. In other words, the foo-1.2.3 package would append (1 2 3) to
the name of all libraries in that package. The package manager probably
should not rewrite source files, but should override the library
versions given in the library source files via some kind of manifest
file. For large Scheme codebases we need the ability to have rewrite
rules for library names anyway, so versioning could be folded into the
name rewriting framework.

It's not clear how to replicate this in R7RS library names which cannot
contain a nested list. Maybe just splice the version list:

R6RS: (foo bar baz (1 2 3))
R7RS: (foo bar baz 1 2 3)

But this is prone to have some amusing consequences -- neither of these
looks good:

R6RS: (srfi :123 (1 2 3))
R7RS: (srfi 123 1 2 3)