[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a draft of R5RS
I have edited a draft of R5RS. 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.
The draft report (R4.95RS) is available as
ftp://ftp.nj.nec.com/pub/kelsey/r5rs.ps.gz
Will Clinger helped with the editing, especially with integrating macros
into the body of the report (but send complaints to me, not to him).
Please send me any corrections, suggestions, criticisms, etc.
-Richard Kelsey