[R6RS] write/read or read/write invariance

dyb at cs.indiana.edu dyb at cs.indiana.edu
Fri May 12 13:07:17 EDT 2006

I think I may be confused about what is meant by write/read invariance (or
read/write invariance, if that's what we want and there's a difference).

Can someone explain for me exactly what is intended and how (if) the
current Unicode SRFI draft (i.e., the one committed to the repository)
implements it?

In particular, should the following return #t (assuming that there are no
I/O problems)?

  (let ([x (string->symbol "12345")])
    (with-output-to-file "foo" (lambda () (write x)))
    (eq? (with-input-from-file "foo" read) x))

What will the file foo contain?


More information about the R6RS mailing list