[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,
      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


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