Hi Stephan,

On `NotImplementedButCoercible`: don't forget that even a preliminary
implementation of `__array_function__` has always the choice of coercing
its own instances to ndarray and re-calling the function; that is really no
different from (though probably a bit slower than) what would happen if one
returned NIBC. It does require, however, a fairly efficient way of finding
arguments of one's own class, which is partially why I think it is
important for there to be a quick way to find instances of one's own type;
we should try to avoid having people to reimplement the dance. It may still
be that `types` is the right vehicle for this - it just depends on how much
of the state of the dance it carries.
​
On the "separate" name-space question: one thing it is not is particularly
difficult, especially if one works with a decorator: effectively one
already has the original function and the wrapped one; the only question is
whether it would pay to keep the original one around somewhere.

I do continue to think that we will get grumbling about regressions in
speed and that it would help to have the undecorated versions available.
Though in my ideal world those would do no coercing whatsoever, but just
take arrays, i.e., they are actually faster than the current ones.

All the best,

Marten
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to