schemedoc / srfi-metadata

Import SRFI metadata into the Scheme API
https://docs.scheme.org/srfi/support/
MIT License
10 stars 2 forks source link

Missing Chicken SRFIs on SRFI Table 2020-11-15 #22

Closed diamond-lizard closed 3 years ago

diamond-lizard commented 3 years ago

Hello,

I just noticed that a new SRFI Table came out today, Nov 15th, 2020, and it was missing some SRFIs that Chicken supported:

lassik commented 3 years ago

Thanks for reporting them. Fixed in commit 4f00527 by scraping from the authoritative sources. (Well, Supported standards wiki page is not as authoritative as the Chicken source code, but at least it's maintained by the Chicken authors and is currently much easier to scrape than the source.

lassik commented 3 years ago

With that commit, SRFI 90 disappeared from the listings. The reason is that it's in Chicken 4 only, not 5. The other two SRFIs 4 and 12 are built-in, and are included in the built-in list (data/chicken.scm) instead of the external list.

diamond-lizard commented 3 years ago

On the contrary, Chicken 5 supports SRFI-90 (as an egg).

lassik commented 3 years ago

What's the name of the egg? I can't find it in https://wiki.call-cc.org/chicken-projects/egg-index-5.html

diamond-lizard commented 3 years ago

Hm... that's really strange.

The Supported Standards page lists SRFI-90 as one of the SRFIs that Chicken 5 supports, but it links to SRFI-69, which describes that egg as "An implementation of SRFI 69 with SRFI 90 extensions".

I also found this interesting post in the chicken-users mailing list archive.

I'm not sure what "SRFI 90 extensions" means exactly, but apparently whoever linked to SRFI-69 on the Supported Standards page thought it provided SRFI-90 support.

lassik commented 3 years ago

The mailing list message you link seems to say that the Chicken folks decided to bundle SRFI 69 and SRFI 90 into the same egg (and the same library import as well?) for convenience, since 90 provides only one procedure.

I added srfi-69 as a special case to the generator. The existing special cases were box and vector-lib.

lassik commented 3 years ago

By "SRFI 90 extensions" they probably mean that SRFI 90 provides extensions to the functionality in SRFI 69.

diamond-lizard commented 3 years ago

The existing special cases were box and vector-lib.

Those no longer provide SRFIs, but use external SRFI eggs instead.

lassik commented 3 years ago

That doesn't seem to be the case:

diamond-lizard commented 3 years ago

My bad.

I just remembered seeing this in the #chicken channel some days ago:

2020-11-08 07:59:16   vandusen        [eggs repo (r39168, by kon)] remove srfi-60 module
2020-11-08 07:59:46   vandusen        [eggs repo (r39169, by kon)] rel 1.2.0
2020-11-08 08:01:37   vandusen        [eggs repo (r39170, by kon)] rel 1.2.0
2020-11-08 08:13:38   vandusen        [eggs repo (r39171, by kon)] remove srfi-111 module
2020-11-08 08:14:45   vandusen        [eggs repo (r39172, by kon)] rel 3.3.0
2020-11-08 08:14:58   vandusen        [eggs repo (r39173, by kon)] rel 3.3.0
2020-11-08 08:41:34   vandusen        [eggs] bitwise-utils version 1.2.0 (for CHICKEN 5) has been released
2020-11-08 08:41:35   vandusen        [eggs] box version 3.3.0 (for CHICKEN 5) has been released

and at the time I thought that meant these eggs no longer provided SRFIs, but I guess I was mistaken.

lassik commented 3 years ago

No prob. Both srfi-60 and srfi-111 are still in eggs-5-latest, though I'm not sure whether there's a delay in removing them.

diamond-lizard commented 3 years ago

No. Those are the new eggs. It has been agreed that differently named eggs that had provided those SRFIs should depend on those SRFIs instead.

lassik commented 3 years ago

OK, maybe they intend to change the egg descriptions for box and vector-lib (and bitwise-utils?) once they get around to it. The current scraper works with the current state of things on Chicken's end, so I'll close this issue; please re-open if it stops working.