William D Clinger
will at ccs.neu.edu
Sat Jun 23 12:37:05 EDT 2007
Andre van Tonder wrote:
> But does r6rs guarantee that the meaning of standard
> procedures other than set-car! and set-cdr! will be changed
> by replacing (rnrs mutable-pairs (6))?
No. I would hope their meaning would *not* change,
but the R6RS (unlike the R5RS) fails to guarantee
> If r6rs doesn't guarantee it, r6rs effectively prohibits
> using such a "feature" in portable programs. Given this
> effective prohibition, the situation will not be so different
> from r5rs for the behaviour of portable programs, except
> that stuff that used to be implementation responsibility
> in r5rs becomes the user's responsibility in the draft r6rs.
If you are saying that R6RS Scheme is less safe than
R5RS Scheme because the draft R6RS fails to require
a protected system layer, then I agree with you.
Half-facetiously and half-seriously, I suggested the
replacement of (rnrs mutable-pairs (6)) as a way for
programmers to ensure that no other programmers on
their project are making use of mutable pairs. At
no time did I suggest this could or would prevent
standard libraries from using mutable pairs.
Furthermore I have never claimed that substitution
of libraries would be portable under the current
draft R6RS. I was careful to refer to "some
implementations" and to "such implementations".
On ther other hand, I don't believe the current
draft R6RS allows any use of mutable pairs in the
implementation of standard libraries other than
(rnrs mutable-pairs (6)) to be visible to clients
of the standard libraries, unless (as noted above)
the substitution somehow breaks one or more of the
More information about the r6rs-discuss