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

Zhu Zihao <[email protected]> Mon, 27 Oct 2025 00:40:22 +0800
Newsgroups gmane.lisp.guile.devel
Message-ID <[email protected]>
Incidentally, I'd like to proposed that Guile 4.0 should fix the missing
auxiliary syntactic keywords definition in some module such as (rnrs
record syntactic) and (srfi srfi-26).

(I'd open an issue at https://codeberg.org/guile/guile/issues/41,
reposting to here it's not bad)

In particular, (rnrs record syntactic) is missing keywords like:
fields mutable immutable parent‌ protocol‌‌ sealed‌‌ opaque‌‌ nongenerative‌‌
parent-rtd

and (srfi srfi-26) is missing keywords: <> <...>

Similar issues may also exist in other code, but I have not confirm all
of thme. These bad pattern seems to stem from a misunderstanding of how
`syntax-case` matches its literals: literal doesn't matched
symbolically, both SRFI-93 and R6RS had specifiy that an literal
identifier pattern should be match with free-identifier=?

Quoting from
https://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-13.html#node_idx_1124

"More formally, an input form F matches a pattern P if and only if one of the following holds:

    P is an underscore ( _ ).

    P is a pattern variable.

    P is a literal identifier and F is an equivalent identifier in the
    sense of free-identifier=? (section 12.5).
..."    
-- 
Retrieve my PGP public key:
执行下列命令以获取我的 PGP 公有密钥:

  gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC

Zihao / 閱卜錄
signature.asc (application/pgp-signature, 255 B)
-----BEGIN PGP SIGNATURE-----

iIsEARYKADMWIQT4UAIrVkIEZilSHr2K2nJqP6LM8gUCaP5O9hUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQitpyaj+izPJMPAD/UojFLsLSJdOz2CNQGb4MW+LfKQIC
1+QZX1sTUZIoXocA/06BZ83r2CifAaIbndqBO2O4uRp1aQuz8yjtdz0sQyAG
=mvqF
-----END PGP SIGNATURE-----