[R6RS] syntax-case SRFI

dyb at cs.indiana.edu dyb at cs.indiana.edu
Tue May 9 15:19:24 EDT 2006

>     The expander makes two passes.  In the first pass, it sequentially
>     processes all forms, extending the environment as it goes, and
>     expanding them to the point where it can see which ones are
>     definitions.  It then makes a second pass, again processing the
>     original forms, but with an environment noting all the identifiers
>     from the first pass for purposes of literal matching, and this time
>     expanding all forms completely.

Actually, the second pass processes only the right-hand sides of the
variable definitions, which the first pass does not do, so no forms are
expanded twice.  Among all of your comments, this was the hardest for me
to address, since I couldn't spot the source of your confusion.  I've
added an extra couple of paragraphs to Section 3.1 that may or may not
suffice.  If not, perhaps you can help me come up with a clearer


More information about the R6RS mailing list