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 / 閱卜錄

Attachment: signature.asc
Description: PGP signature

Reply via email to