DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(r5rs.info.gz) Language changes

Info Catalog (r5rs.info.gz) Notes (r5rs.info.gz) Notes
 
 Language changes
 ================
 
 This section enumerates the changes that have been made to Scheme since
 the "Revised^4 report" [R4RS] was published.
 
    * The report is now a superset of the IEEE standard for Scheme
      [IEEEScheme]: 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', and `-' and `/' with more than two
           arguments.  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.
 
    * `Syntax-rules' now allows vector patterns.
 
    * Multiple-value returns, `eval', and `dynamic-wind' have been added.
 
    * The calls that are required to be implemented in a properly
      tail-recursive fashion are defined explicitly.
 
    * ``@'' can be used within identifiers. ``|'' is reserved for
      possible future extensions.
 
 
Info Catalog (r5rs.info.gz) Notes (r5rs.info.gz) Notes
automatically generated byinfo2html