SRFI-metadata-syncing SRFI? noosphere@xxxxxx (08 Nov 2020 21:50 UTC)
Re: SRFI-metadata-syncing SRFI? Vladimir Nikishkin (09 Nov 2020 01:00 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (09 Nov 2020 09:41 UTC)
Re: SRFI-metadata-syncing SRFI? noosphere@xxxxxx (09 Nov 2020 16:15 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (09 Nov 2020 16:36 UTC)
(missing)
Re: SRFI-metadata-syncing SRFI? noosphere@xxxxxx (09 Nov 2020 20:35 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (09 Nov 2020 20:57 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (09 Nov 2020 21:05 UTC)
Re: SRFI-metadata-syncing SRFI? noosphere@xxxxxx (09 Nov 2020 23:41 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (10 Nov 2020 07:53 UTC)
Re: SRFI-metadata-syncing SRFI? noosphere@xxxxxx (09 Nov 2020 23:45 UTC)
Re: SRFI-metadata-syncing SRFI? noosphere@xxxxxx (09 Nov 2020 20:50 UTC)
Re: SRFI-metadata-syncing SRFI? Lassi Kortela (09 Nov 2020 21:12 UTC)
The funnel pattern Lassi Kortela (09 Nov 2020 21:30 UTC)

SRFI-metadata-syncing SRFI? noosphere@xxxxxx 08 Nov 2020 21:50 UTC

Per a brief discussion on freenode's #scheme channel, I've been asked to
post my ideas for a SRFI-metadata-syncing SRFI to both the SRFI-discuss
and schemedoc mailing lists.

Summary of proposal:

Create a SRFI for syncing metadata between different Scheme
implementations, with the aim of automatically maintaining a centralized
repository of metadata about which Scheme's support which SRFI's.

This could be extended to create a catalog of metadata for Scheme
libraries, showing which SRFI or other standard a given library depends
on.

This would make life a lot easier for prospective SRFI and library
porters.

Background and motivation:

I've been porting a bunch of SRFI's to Chicken lately, and have been
manually maintaining a page[1] on the Chicken wiki regarding which
SRFI's Chicken supports and which it doesn't, which are in core and
which are Chicken libraries (eggs).

Unbeknownst to me, erkin form #scheme had been maintaining a separate
list[2] of SRFI compliance across various Schemes, including Chicken.
Unfortunately, it was scraping an outdated Chicken wiki page as its
source of information.  Chicken SRFI documentation is an ad-hoc affair,
with there being no guarantee that Chicken's SRFI compliance will be
consistently documented (or documented at all) on any one page, as all
of these pages are manually maintained.

erkin's table has been updated to use the latest chicken data, but the
problem remains, not just with Chicken but for many (all?) other
Schemes, as there is no standard way of acquiring or sharing metadata
regarding which Schemes are compliant with which SRFIs or other
standards.

If there was a SRFI documenting the format such metadata should take,
the means by which it is shared, and requiring compliant Schemes to
update this metadata as with the publication of each library (or at
least each ported SRFI library), then it would allow automation of the
creation and maintenance of information that would be very useful to
every Scheme user.

It would be of particular interest to SRFI porters, like myself, who
could with such information tell at a glance which Scheme has a port of
which SRFI and if they wanted to port a particular library from another
Scheme they could tell which SRFI and other standard they would need to
port that library.

Further, information automatically maintained in this way would no
longer fall out of date or rely on manual, error-prone updates.

That is my core idea in a nutshell, and I would be interested to hear
any feedback or ideas about what the best approach would be.

Sincerly,

Sergey Goldgaber

(currently laertus on #chicken and #scheme on freenode)

---

Please note that this message has been crossposted to both
xxxxxx@srfi.schemers.org and xxxxxx@srfi.schemers.org

If you want your reply to be seen by both lists, you'll have to
subscribe and manually post to them both, as I have.

Footnotes:

[1] - https://wiki.call-cc.org/srfi-support

[2] - http://htmlpreview.github.io/?https://github.com/schemedoc/srfi-metadata/blob/master/table.html