This is the first released part of the anticipated first volume of the Revised7 Report on the Algorithmic Language Scheme (large language). It follows the small language report which was completed by Working Group 1 in 2013. This fascicle extends the macro system defined in that report. These facilities are a compatible redefinition and extension of the corresponding provisions of the R6RS.
We invite public comments from the entire community of Scheme users and other programmers. These can be filed directly as issues in the issue tracker or sent to the Scheme Reports mailing list. They can also be sent by email to the Working Group chair, who will forward them to the issue tracker (anonymously if desired). Comments may address any aspect of this fascicle, including factual errors, ambiguities, feature additions or removals, spelling and grammar mistakes, missing or inadequate definitions of key terms, or any other feedback of this nature. We explicitly welcome comments which simply let us know if you couldn’t understand part of the fascicle — we will do our best to improve its clarity.
This is a specification, and not a tutorial on Scheme macros. If you want to learn how to write macros in Scheme using the systems defined in this fascicle, we are happy to recommend the following resources:
Note: The editors of the R6RS and R7RS small reports are listed as authors of this fascicle in recognition of the substantial portions of the text that are copied directly from R6RS and R7RS small. There is no intended implication that those editors, individually or collectively, support or do not support this fascicle.
We intend this report to belong to the entire Scheme community, and so we grant permission to copy it in whole or in part without fee. In particular, we encourage implementors of Scheme to use this report as a starting point for manuals and other documentation, modifying it as necessary.