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?

Reply via email to