[Numpy-discussion] immutable numpy arrays

Robert Kern robert.kern at gmail.com
Thu Dec 18 16:00:35 EST 2008


On Thu, Dec 18, 2008 at 10:01, Geoffrey Irving <irving at naml.us> wrote:
> On Wed, Dec 17, 2008 at 4:28 PM, Robert Kern <robert.kern at gmail.com> wrote:

>> It just seems to me to be another complication that does not provide
>> any guarantees. You say "Currently numpy arrays are either writable or
>> unwritable, but unwritable arrays can still be changed through other
>> copies." Adding an immutable flag would just change that to "Currently
>> numpy arrays are either mutable or immutable, but immutable arrays can
>> still be changed through other copies." Basically, the writable flag
>> is intended to indicate your use case. It can be circumvented, but the
>> same methods of circumvention can be applied to any set of flags.
>
> The point of an immutable array would be that _can't_ be changed
> through other copies except through broken C code (or the ctypes /
> __array_interface__ equivalents), so it's not correct to say that it's
> the same as unwriteable.  It's the same distinction as C++ const vs.
> Java final.  Immutability is already a common notion in python, e.g.,
> list vs. tuple and set vs. frozenset, and it's unfortunate that numpy
> doesn't have an equivalent.
>
> However, if you agree that even _with_ the guarantee it's not a useful
> concept, I'm happy to drop it.

What I'm trying to suggest is that most code already treats the
writeable flag like I think you want the immutable flag to be treated.
I'm not sure what you think is missing.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the NumPy-Discussion mailing list