On Tue, Aug 16, 2016 at 4:00 PM, Zefram <zef...@fysh.org> wrote:

> That's what I think it is.  I'm mystified as to what you think I think
> it is.
>

Because of all the behaviors central to it being the implementation of a
mutable value, that you have reported as bugs. They're not bugs, they are
proof that Scalar is *not what you want*. It is the implementation of a
mutable value that can be used as a value; they are *not* general mutable
containers which is what you are looking for. They aren't, and maybe if you
look over your recent "bugs" you might recognize a pattern about their
behavior that would tell you that they are not what you want them to be,
they are something different and they must be something different.

Let's try it this way: earlier I sai that yuou had created a mutable-key
Pair.
I did not mean "You created something equivalent to a mutable-key Pair".
You *precisely* created a Pair that has a mutable component, in something
that is not intended to be mutable. Anything that uses a Pair expects it to
be immutable; your mutable-key Pair is no longer an immutable type.

Arguably this situation should not be allowed to occur, but that's why .VAR
is a hack that is leaking something that should not be visible. You're
breaking language invariants as a result; you can slip mutability into
immutable types at a level the type system can't see --- because Scalar is
precisely the difference between immutable and mutable values.

-- 
brandon s allbery kf8nh                               sine nomine associates
allber...@gmail.com                                  ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

Reply via email to