[r6rs-discuss] set-car!

From: William D Clinger <will>
Date: Sat, 23 Jun 2007 12:37:05 -0400

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
that.

> 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
standard libraries.

Will
Received on Sat Jun 23 2007 - 12:37:05 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC