[Numpy-discussion] Ransom Proposals

Travis Oliphant oliphant at ee.byu.edu
Mon Mar 27 10:46:01 EST 2006


Tim Hochberg wrote:

>>
>>
>> The transpose function handles a list and returns an array.  
>
>
> Yes. And this is exactly the same property that I've been ranting 
> about incessantly for the past several days in the case of reshape. It 
> seems convenient, but it's evil. It leads to intermittent, hard to 
> find bugs, since when passed a list it necessarily creates a new array 
> object, but when passed an array, it returns a view.
>

And this is also the area where Tim is going to find people that 
disagree.  The functional interfaces have always been there so that 
other objects could be manipulated as arrays.    There is *a lot* of 
precendent behind the functional interfaces.  It seems like a big change 
to simply get rid of them .

Yes, having this ability means that you have to think about it a bit if 
you are going to use the functional interface and try to do in-place 
operations.  But, I would argue that this is an "advanced" usage which 
is implemented to save space and time.  I fully support such "advanced" 
usages, but believe the person using them should know what they are 
doing.  Understanding why the functional interface may return a copy 
does not seem to me to be a big deal for somebody thinking about 
"in-place" operations.

I'm -1 right now on removing (or even deprecating) the functional 
interfaces.   I'm +1 on educating users on the advantages of using 
methods and that the functional interfaces are just basic wrappers 
around them.

-Travis





More information about the NumPy-Discussion mailing list