This section enumerates the changes that have been made to Scheme since the "Revised^3 report" [R3RS] was published.
boolean?
, pair?
, symbol?
,
number?
, char?
, string?
, vector?
, and procedure?
are required to be disjoint.
lambda
, let
, letrec
,
and do
must not contain duplicates.
begin
expressions containing definitions are treated
as a sequence of definitions.
eqv?
procedure is no longer required to be true of any
two empty strings or two empty vectors.
Rationalize
has been restricted to two arguments and its
specification clarified.
number->string
and string->number
procedures
have been changed.
Integer->char
now requires an exact integer argument.
force
procedure has been
weakened. The previous specification was unimplementable.
t
, nil
.
approximate
, last-pair
.
list?
, peek-char
.
case
, and
, or
,
quasiquote
.
reverse char-ci=? make-string max char-ci<? string-set! min char-ci>? string-ci=? modulo char-ci<=? string-ci<? gcd char-ci>=? string-ci>? lcm char-alphabetic? string-ci<=? floor char-numeric? string-ci>=? ceiling char-whitespace? string-append truncate char-lower-case? open-input-file round char-upper-case? open-output-file number->string char-upcase close-input-port string->number char-downcase close-output-port
append
, +
, *
, -
(one argument), /
(one
argument), =
, <
, >
, <=
, >=
, map
,
for-each
.