This is a proposal for adding various R6RS features as part of R7RS
small Scheme.  I am publishing this document to invite wide comment.
There is nothing official about it.  However, I retain sole responsibility
for it, including all errors.

There is a great deal of crunchy goodness in R6RS, especially around minor
(or major, depending on your viewpoint) inconsistencies, insufficiencies,
and vaguenesses in the R5RS spec.  Small Scheme should absolutely
adopt them.

The following list is intentionally rough and incomplete, and drawn from
the R6RS Rationale:

The systematic use of "must" and "should" according to RFC 2119.

The detailed treatment of +inf.0, -inf.0, +nan.0 and -0.0 on systems with
IEEE-754-compliant floating point, including the fact that (eqv? +nan.0
+nan.0) is intentionally unspecified.

Allowing identifiers that begin with "->".  Open issue: should we frankly
adopt the default posture of many Schemes, that anything which doesn't
look like a number but is composed of the right kinds of characters is
a legal identifier?  To my mind, calling "2a" an identifier is going a
bit far, but I really don't have any problem with "-foo-" if you want it.

Both block (#| ... |#) and datum (#;) comments (already mentioned in
part 1).

Moving many "is an error" situations to "an error is signaled", to promote
safe implementation as the Scheme rule.  Specifics are an open issue,
of course.

Distinguishing between programmer and implementer responsibilities in
the use of certain procedures.

The much better explanation of macro expansion in R6RS section 10.

Explaining internal "define" by "letrec*".

The clarification that filenames may be implementation-defined objects as
well as strings, to handle Posix or Windows names that break the rules for
Unicode strings.  (On Posix, filenames are u8-vectors with limitations;
on Windows, they are u16 vectors with limitations.)

-- 
Andrew Watt on Microsoft:                       John Cowan
Never in the field of human computing           [email protected]
has so much been paid by so many                http://www.ccil.org/~cowan
to so few! (pace Winston Churchill)

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to