[Numpy-discussion] core library structure
Fri Feb 4 13:23:42 CST 2011
Darren Dale writes:
> With generic functions, you wouldn't have to remember to use the ufunc
> provided by masked array for one type, or the default numpy for
> another type.
Sorry, but I don't see how generic functions should be a better approach
compared to redefining methods on masked_array . In both cases you
have to define them one-by-one.
 assuming 'np.foo' and 'ma.foo' (which would now be obsolete) simply
call 'instance.foo', which in the ndarray level is the 'foo' ufunc
Well, yes. I do see an advantage, if the number of methods grows too
large (which is probably what started your concerns).
Where I do see a utility for generic functions is as cross-cutting
points for class-oblivious extensions, like deferred evaluation
(although then you lose concise and per-object control of when to
enable/disable deferred evaluation). But then you need "implicitly
chained" implementations for the generic functions (which might lead to
poor performance, I just don't know).
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom
More information about the NumPy-Discussion