-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Jul 12, 2006, at 2:42 PM, John Cowan wrote:
Kon Lovett scripsit:
<snip>
I'd like to see the existing pairs left alone, and new immutable pairs
without identity added. That is, (immutable-cons 1 2) is permitted
(but
not required) to return the same pair (in the sense of EQ?) every time
it's called.
Hash-Consing?
All existing procedures would continue to work with immutable pairs
except, of course, SET-CAR! and SET-CDR!. Some decision would have to
be taken about procedures like APPEND that accept multiple arguments:
my initial take is that they should produce immutable results unless
all the arguments are mutable.
You are suggesting contagion. I use this in the 'procedure-surface'
composite for example.
Scheme would need new procedures MUTABLE-PAIR?, IMMUTABLE-PAIR?,
IMMUTABLE-CONS, IMMUTABLE-LIST, MUTABLE->IMMUTABLE, and
IMMUTABLE->MUTABLE.
Mutable vs. Immutable should be a property of the object. Sorry, but
I don't think we need *-immutable versions of every (<proc>
<datatype> ...). Just a built-in flag and exception when a mutating
operation attempted.
I think the R6RS editors are interested in Scheme source compiled. If
it can be inferred that a datum is immutable then optimizations can
be applied.
--
John Cowan [EMAIL PROTECTED] http://ccil.org/~cowan
Original line from The Warrior's Apprentice by Lois McMaster Bujold:
"Only on Barrayar would pulling a loaded needler start a stampede
toward one."
English-to-Russian-to-English mangling thereof: "Only on Barrayar
you risk to
lose support instead of finding it when you threat with the charged
weapon."
Yes, the "Miles" stories are a fun read.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
iEYEARECAAYFAkS1w74ACgkQJJNoeGe+5O7tUgCeMT/nMWe+gEeYszZG+gTzESN0
bhYAni5UBC4MI0yy+KlLx6prs+FjmDQG
=hRDp
-----END PGP SIGNATURE-----
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users