Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear nec- essary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. — RnRS reports

Scheme was first documented in 1975. Since then, a series of reports on the evolving language have been published. Eventually, the convention RnRS began to be used to refer to reports in the sequence.

The most recent report is for R7RS (small), which was completed by Working Group 1 in 2013. The R7RS (small) language specification (PDF) was approved in 2013-05 and endorsed by the Scheme Language Steering Committee later that year. An unofficial list of R7RS (small) errata is being collected.

Working Group 2 is now working on R7RS (large).

Scheme Steering Committee

The Scheme Steering Committee was formed in 2004, and has overseen the working groups for R6RS (2007) and R7RS (2013 and ongoing).

The original Steering Committee, which oversaw R6RS, had these members:

The second Steering Committee, elected in 2009, oversaw R7RS (small):

The third and current Steering Committee, elected in 2026, is overseeing R7RS (large):

Working Groups

Public Mailing List

Public Review Process (Working Group 1)


Steering Committee Working Documents


Scheme Requests for Implementation (SRFI)

Scheme Reports

Code of Conduct