Scheme Programming/A Note on R5RS

From Wikibooks, open books for an open world
Jump to navigation Jump to search
Scheme Programming
 ← What defines Scheme? A Note on R5RS Using a Scheme interpreter → 

As of 2016, the current standard for Scheme is R7RS, yet most implementations of Scheme today still only implement the old standard R5RS. RnRS, in general, stands for "Revisedn Report on the Algorithmic Language Scheme," a nod to an influential document with a similar name, the "Revised Report on the Algorithmic Language Algol 60." The previous standard, R6RS, elicited controversy among some Scheme programmers who criticized its departure from Scheme's original minimalist philosophy. In response, R7RS is being divided into two languages, "R7RS-small" and "R7RS-large" of which only R7RS-small has been completed and ratified. R7RS has been better received by implementors than R6RS, although many major implementations still do not support it. However, many R5RS implementations that rejected R6RS have added support for the new standard, including Kawa, Gauche, and Chicken.

Most of this book was written for R5RS, which can be loaded into any R7RS implementation with the library (scheme r5rs), specifically designed for loading legacy code. A section has been added at the end to explore the new features of R7RS.