Travis Oliphant writes: [snip snip]
I have therefore come to the conclusion that we have been barking up the wrong tree. There might be a few cases where inheritance would buy you something, but essentially Numeric and MA are useless as parents. Instead, what would be good to have is a python class Numeric built upon a suite of C routines that did all the real work, such as adding, transposing, iterating over elements, applying a function to each element, etc.
I think this is what I've been trying to do in the "rewrite." Paul Barrett has made some excellent progress here.
I am currently writing the PEP 209: Multidimensional Arrays documentation and hope to submit the initial draft by the end of the week for comments. The proposed design is along the lines Paul Dubois has suggested.
Since it is now possible to build a Python class with C methods, which it was not when Numeric was created, we ought to think about it.
What does this mean? What feature gives this ability? I'm not sure I see when this changed?
I'd also like to know what Paul Dubois means by this.
Such an API could be used to make other classes with good performance. We could lose the artificial layer that is in there now that makes it so tedious to add a function. (I counted something like five or six places I had to modify when I added "put".)
I'd love to talk more with you about this.
Ditto! -- Dr. Paul Barrett Space Telescope Science Institute Phone: 410-338-4475 ESS/Science Software Group FAX: 410-338-4767 Baltimore, MD 21218