[R6RS] write/read or read/write invariance
dyb at cs.indiana.edu
dyb at cs.indiana.edu
Wed May 17 11:59:39 EDT 2006
The Unicode requirements we spelled out in Boston included "write/read"
invariance, at least according to Marc's notes and mine. Looking back
through the archives, it seems like write/read invariance is something
stronger than Will's latest take on read/write (read-write) invariance.
Basically, the intent seems to be that write/read invariance for symbols
requires that any symbol that can be created can be written in such a way
that it can be read back in. Since we have not chosen to restrict the set
of symbols that can be created, we must have a syntax for all symbols (the
Unicode SRFI does that), and we must require that write employ the syntax
in such a way that all symbols printed by write can be read back in by
read.
I propose that we separate the issue into two parts, a language
requirement and an implementation requirement, as described below.
Definition: A machine-readable representation of a value is a printed
representation of the value that allows it to be read (via the read
procedure) as the same (in the sense of equal?) value.
Part 1. Language requirement: complete grammar
Every symbol, string, character, and number that can be created via
standard operators has at least one standard machine-readable
representation.
Part 2. Implementation requirement: write/read invariance
The write procedure must use a standard machine-readable representation
of a value if such a representation exists.
Kent
More information about the R6RS
mailing list