[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Fwd: R7RS

John Boyle scripsit:

> Might this be an acceptable hack?

It might, but I'd rather fix the problem and restore continuity with the
Scheme past.  If this be "leaving Scheme stuck in the 80s", then so be it.

> Well.  First, I would argue (as others have) that one can make exactly
> the same argument about *any* data structure.  Replace "make-closure"
> with "cons", "vector", "string-append", "reverse", or many other things.
> It is quite true that if you didn't have to maintain object identity for
> X other data structure, then you could make this splitting optimization
> and your code would run faster.  One might argue that closures are
> special in one way or another, but I would be unimpressed.

Indeed, the context of the R6RS discussion of May 2007 shows that the real
topic of discussion was identity vs. immutability: must immutable values
have object identity?  Immutable lists, strings, and vectors coexist with
their mutable relatives as part of the same type, as a result of the
rule that constants are immutable (which dates back to R4RS at least).
However, records are mutable or immutable depending on whether they have mutable
fields; no record type has both mutable and immutable instances.

So most of the discussion was about immutable records and whether they
can be freely copied, especially the case of a record with no fields:
is it a null object (and potentially a singleton) or is it usable as
a source of identity?  In the end, the latter was accepted: all R6RS
records whether mutable or immutable have a location and identity.

What wasn't really considered is that (like records) procedures can be
mutable or immutable depending on whether their closed-over variables
are, but that (like pairs, etc.) this is not a distinction of type.
The strong resemblance between procedures and other containers was
essentially ignored.

John Cowan    cowan@x    http://ccil.org/~cowan
If a traveler were informed that such a man [as Lord John Russell] was
leader of the House of Commons, he may well begin to comprehend how the
Egyptians worshiped an insect.  --Benjamin Disraeli

Scheme-reports mailing list