[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Incompatibilities between R5RS and R7RS-small

I've been asked to split the incompatibilities between R5RS and R7RS-small
out of the list of changes in the NOTES section.  Here is my candidate
for that list:

\item Case sensitivity is now the default in symbols and character names.
This means that code written under the assumption that symbols could be
written {\cf FOO} or {\cf Foo} in some contexts and {\cf foo} in other contexts
must either be changed, be marked with a {\cf \#!fold-case} directive,
or be included in a module using the {\cf include-ci} library declaration.
All standard identifiers are entirely in lower case.

\item The {\cf syntax-rules} construct now recognizes {\em \_} (low line)
as a wildcard, which means it cannot be used as a syntax variable.

\item The \rfivers\ procedures {\cf exact->inexact} and {\cf inexact->exact}
have been renamed to their \rsixrs\ names, {\cf inexact} and {\cf exact},
respectively, as these names are shorter and more correct.
The former names are still available in the \rfivers\ compatibility library.

\item The guarantee that string comparison (with {\cf string<?} and the
related predicates) is a lexicographical extension of character comparison
(with {\cf char<?} and the related predicates) has been removed.  The former
set provide an implementation-defined comparison as in \rfivers; the latter
set provide comparison by Unicode code point.

\item The procedures {\cf transcript-on} and {\cf transcript-off} have been removed.

If anyone can think of additional points, please let me know.

Even the best of friends cannot                 John Cowan
attend each others' funeral.                    cowan@x
        --Kehlog Albran, The Profit             http://www.ccil.org/~cowan

Scheme-reports mailing list