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


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