[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a (revised) draft of R5RS
I have updated my draft of R5RS, incorporating a number of suggestions
from the teeming multitudes. The new draft (R4.96RS) is available as:
ftp://ftp.nj.nec.com/pub/kelsey/authors.ps.gz
As with my earlier draft, the only changes from R4RS are those
agreed upon at the meeting in Palo Alto. These are:
The report is now a superset of the IEEE standard for Scheme:
implementations that conform to the report will also conform to
the standard. This required the following changes:
- The empty list is now required to count as true.
- The classification of features as essential or inessential has
been removed. There are now three classes of built-in procedures:
primitive, library, and optional. The optional procedures are LOAD,
WITH-INPUT-FROM-FILE, WITH-OUTPUT-TO-FILE, TRANSCRIPT-ON,
TRANSCRIPT-OFF, and INTERACTION-ENVIRONMENT, along with the
more-than-two-argument versions of - and /. None of these are in
the IEEE standard.
- Programs are allowed to redefine built-in procedures. Doing so
will not change the behavior of other built-in procedures.
`Port' has been added to the list of disjoint types.
The macro appendix has been removed. High-level macros are now part
of the main body of the report. The rewrite rules for derived
expressions have been replaced with macro definitions. There are no
reserved identifiers.
Multiple-value returns, EVAL, and DYNAMIC-WIND have been added.
Please send me any corrections, suggestions, criticisms, etc.
-Richard Kelsey