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.