Subject: bug#73605: [PATCH] Replace SRFI-64 with a new implementation.

From: Ludovic Courtès <[email-masked]>
Date: Sun, 13 Oct 2024 22:09:36 +0200

Hi Tomas,

Tomas Volf <[email-masked]> skribis:

> The bundled (reference) implementation was of somewhat mixed quality and
> it failed to follow standard in multiple places.  This commit replaces
> it with a new one, written from scratch to follow the standard as close
> as possible.
>
> * module/srfi/srfi-64/testing.scm: Delete file.
> * module/srfi/srfi-64.scm: Replace with new implementation.
> * am/bootstrap.am (srfi/srfi-64.go): Remove extra dependencies.
> (NOCOMP_SOURCES): Remove srfi/srfi-64/testing.scm.
> * test-suite/tests/srfi-64-test.scm
> ("8.6.1. Simple (form 1) test-apply")
> ("8.6.2. Simple (form 2) test-apply"): Adjust tests to follow the
> specification.

Nice work!

Andy, Rob: I’m willing to apply this patch as I think it’s an
improvement over the reference implementation that we currently have,
and whose weaknesses Tomas described at length in
<https://wolfsden.cz/blog/post/state-of-srfi-64.html>.  The fact that
this new implementation was successfully tested with the test suite of
Guix (probably the largest SRFI-64 user) is also reassuring to me.

Everyone, please speak up if you object.  If there are no objections
within a week or so, I’d like to apply it.

Thanks,
Ludo’.