I think you are misunderstanding the proposal. The proposal is to traverse the views as far as you can but stop just short of having base point to an object of a different type.
This fixes the infinite chain of views problem but also fixes the problem sklearn was having with base pointing to an unexpected mmap object. -- Travis Oliphant (on a mobile) 512-826-7480 On Sep 30, 2012, at 3:50 PM, Han Genuit <hangen...@gmail.com> wrote: > On Sun, Sep 30, 2012 at 10:35 PM, Travis Oliphant <tra...@continuum.io> wrote: >> We are not talking about changing it "back". The change in 1.6 caused >> problems that need to be addressed. >> >> Can you clarify your concerns? The proposal is not a major change to the >> behavior on master, but it does fix a real issue. >> >> -- >> Travis Oliphant >> (on a mobile) >> 512-826-7480 >> >> >> On Sep 30, 2012, at 3:30 PM, Han Genuit <hangen...@gmail.com> wrote: >> >>> On Sun, Sep 30, 2012 at 9:59 PM, Travis Oliphant <tra...@continuum.io> >>> wrote: >>>> Hey all, >>>> >>>> In a github-discussion with Gael and Nathaniel, we came up with a proposal >>>> for .base that we should put before this list. Traditionally, .base has >>>> always pointed to None for arrays that owned their own memory and to the >>>> "most immediate" array object parent for arrays that did not own their own >>>> memory. There was a long-standing issue related to running out of stack >>>> space that this behavior created. >>>> >>>> Recently this behavior was altered so that .base always points to "the >>>> original" object holding the memory (something exposing the buffer >>>> interface). This created some problems for users who relied on the fact >>>> that most of the time .base pointed to an instance of an array object. >>>> >>>> The proposal here is to change the behavior of .base for arrays that don't >>>> own their own memory so that the .base attribute of an array points to >>>> "the most original object" that is still an instance of the type of the >>>> array. This would go into the 1.7.0 release so as to correct the >>>> issues reported. >>>> >>>> What are reactions to this proposal? >>>> >>>> -Travis >>>> >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion@scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> I think the current behaviour of the .base attribute is much more >>> stable and predictable than past behaviour. For views for instance, >>> this makes sure you don't hold references of 'intermediate' views, but >>> always point to the original *base* object. Also, I think a lot of >>> internal logic depends on this behaviour, so I am not in favour of >>> changing this back (yet) again. >>> >>> Also, considering that this behaviour already exists in past versions >>> of NumPy, namely 1.6, and is very fundamental to how arrays work, I >>> find it strange that it is now up for change in 1.7 at the last >>> minute. >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion@scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > Well, the current behaviour makes sure you can have an endless chain > of views derived from each other without keeping a copy of each view > alive. If I understand correctly, you propose to change this behaviour > to where it would keep a copy of each view alive.. My concern is that > the problems that occurred from the 1.6 change are now seen as > paramount above a correct implementation. There are problems with > backward compatibility, but most of these are due to lack of > documentation and testing. And now there will be a lot of people > depending on the new behaviour, which is also something to take into > account. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion