Re: Need a general place to stash SRFI implementations needed by other SRFI implementations hga@xxxxxx (20 Aug 2020 11:59 UTC)

Re: Need a general place to stash SRFI implementations needed by other SRFI implementations hga@xxxxxx 20 Aug 2020 11:59 UTC

> From: "Marc Nieper-Wißkirchen" <xxxxxx@nieper-wisskirchen.de>
> Date: Wednesday, August 19, 2020 3:16 PM
>
> Am Mi., 19. Aug. 2020 um 22:01 Uhr schrieb <xxxxxx@ancell-ent.com>:
>
>> Arthur quite reasonably wants SRFIs to stop bundling other SRFI
>> implementations with their supplied implementations.  I.e. don't
>> bundle your own SRFI 64: A Scheme API for test suites in your brand
>> new SRFI.
>
> SRFI 138 describes the "-A" option to *append* directories to the
> library search path. Chibi-Scheme and many other Schemes implement
> this option. As long as you use such a flag when using the code of a
> SRFI, the bundled libraries will only be used when they are not
> present in your system.
>
> I still think that this is the easiest and gives the best user
> experience.

Thinking about it since I sent my message, setting up your library
directory search order to provide your preferred set of native,
Snow/whatever, and supplied by the SRFI libraries also strikes me as
the best solution.

You have to do one block of work when you start engaging with a SRFI's
libraries, you have to do that anyway to get the SRFI's
implementation if it is, as it should be, packaged as a regular SRFI.

We can provide guidance in a document inside the srfi subdirectory of
the SRFI as I do for Chibi Scheme.  It's the only one modern one I've
been using, it's just right for my purposes, no disrespect intended
towards other implementations.

If we accept this unfortunate necessity instead of Arthur's ideal, we
should create a convention for including auxiliary SRFIs in a SRFI's
repoes.  In particular, they should be separated both from the SRFI's
sample implementations, and each other, so the user can pick and
choose which ones he wants.

> [ Snowfort discussion, which has proven to be very fruitful, but not
>   necessarily solving this problem in general. ]

As a for instance, due to my style of focusing, it would be a lot of
effort I'm not interested in doing to put up a newer version of SRFI
64 there, since I'd first need to test if it works for a bunch of
Scheme implementations and then fix those problems.  Bundling
auxiliary libraries in a SRFI's repo allows a relaxed process as the
SRFI moves towards finalization to fix problems for anyone who's using
a Scheme that turns out to be incompatible one or more of them.

- Harold