Re: Proposal: Make Guile 4.0 support R6RS/R7RS by default

"Dr. Arne Babenhauserheide" <[email protected]> Mon, 06 Oct 2025 12:09:05 +0200
Newsgroups gmane.lisp.guile.devel
Message-ID <[email protected]>
Daphne Preston-Kendal <[email protected]> writes:

> With talk of Guile 4.0 in the air, I’d like to propose that this
> version should be taken as an opportunity to enable --r6rs and --r7rs
> modes by default.

In general this sounds good to me, except for the backwards
compatibility breakage. Is that breakage actually required?

> Worse, due to the standard layout for many R7RS libraries (with a .sld
> declaration which includes a .scm source file of the same base name),
> Guile started in its default mode will try to load the wrong file when
> importing such libraries, which doesn’t actually include any library
> declaration – giving the illusion that Guile doesn’t support an R7RS
> library, when in fact it would probably work fine with the --r7rs
> flag.
…
> surprising results in the case of libraries which have a .scm version
> targeting Guile besides a .sld version targetting standard R7RS. I
> have created such a library myself (the SRFI 250 sample

How many libraries of each kind are there?

Would a smaller change of using the .scm first and .sld second by
default and changing --r7rs to only change the order be sufficient?

Then no currently working library would break on update and some r7rs
libraries would be added as compatible, but not all. Specifying --r7rs
would then only switch the preference around: prefer supporting r7rs
over supporting guile specifics.

> The second change will be harder to make. I suggest that if possible,
> the next minor release of Guile should begin warning about the
> deprecation of \xNN string escapes with no semicolon when the reader
> encounters one; then Guile 4.0 can turn them off by default.

What’s the advantage of removing support for those escapes?

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de
signature.asc (application/pgp-signature, 1.1 KB)
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmjjlUIQHGFybmVfYmFi
QHdlYi5kZQAKCRAT741FJAPD6w8KEACb3RBLLpQKSqQrMHMfqJYKol9J6iQ5QxTr
s9NFa3Hjy3QBXRLI5ztz6cdo7syywNJAwKX1FrJO+tjcTcuBpixph8tmWw/43MI/
MJrhTTG3jBzB9EJq6SlXBjZVTUSX7eixGeSvme1EFVAGdwgnKlFTq5H0R3kH+WVw
Vj1tX4uA52qqF5uozRIrXs2ead3ZozCoU1vkWeT53pW66VlcKfzarFFL+lcxV6is
4PgTFrz6Gi9vWQx/BddK02C1w+x5Daobu2oVVsXGHndl2c1fCRoc/QF3SPDkKsr5
xZ5ucz+aqZ7EeI0gbPbBmAm8Km3LEsuDLSh1r7jT+2Gl5e73HnvO9eJ74TCFz/3m
DYc4DE2NkO7lpKURZ/WhO3Z/pIYmxg72V++8GBMa7sAeJ6QY9Y7Sm4kRW2Vs1Isi
w8DKwxeWEq86mBySzlw3F8KTMpnpuqZiRjTY3VadgNe7pf3ObmPKCcRWmlN+g1zo
/xj/XynMV8aYB74Fc1PENW5SCuUx7ICWFjwfgnix3b6HAgJWB6k0MeNmjWZYMnI9
erbshOWME0oFKI/mv6Jf/V9Y+nrDjEkQW6eb9xdYd/QATkSDUUHVYyrG3Sny3A29
WmfYWW3ZhAlDYhvWIPv6HOmItgjFB4D8AQC/z4FU4vJDr7tQ2S5HT1TwNxjQUxwP
7UDuxK0VPojEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmjjlUIQHGFy
bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSMJLA/9kSLaQ8KpI0mn1Ib7C8DjdABSX
39IsUqUriG6YtQyK3+y14zJ4BKkmHW/tPwgiMZ5hlxzIvgSwvXF6mWkTE80TlhlC
Qpgqah8I+wqtf/+u/tjmunbDoy3Oqpt74TdE4JnLkc0GS2SV3XusiAzBBtKMzaUC
pGc0n+bOBj7NSXphog==
=DxeR
-----END PGP SIGNATURE-----