Chicken currently has two different implementations of syntax-rules:
- synrules.scm in chicken-core
- synrules.scm in the r7rs egg
I'm far from an expert, but at a glance it looks like the r7rs egg's
version is indeed R7RS compliant whereas the chicken-core version is r5rs.
R7RS (and R6RS) = R5RS + SRFI 46 (Basic Syntax-rules Extensions)?
Both of the above versions of synrules.scm claim the following lineage:
Copyright (c) 1993-2001 by Richard Kelsey and Jonathan Rees.
;;; [Hacked slightly by Taylor R. Campbell to make it work in his
;;; macro expander `riaxpander'.]
;; [Hacked even more by Felix L. Winkelmann to make it work in his
;; Hi-Lo expander]
I can't tell whether these hacks affect the feature set offered to
users, or just the internals.
The version in the r7rs egg additionally says:
;; This is a slightly modified copy of core syntax-rules, enhanced
;; with underscore "wildcard" patterns and the ellipsis (... ...)
;; "quoting" mechanism from R7RS.
Is there a desire to stick to r5rs features only in the chicken-core
expander, or is the intention to fold the R7RS / SRFI 46 features back
into the chicken-core expander at some point in the future?