On Sun, Jun 3, 2018 at 9:54 PM Hameer Abbasi <einstein.edi...@gmail.com> wrote:
> Mixed return values of NotImplementedButCoercible and NotImplemented would > still result in TypeError, and there would be no second chances for > overloads. > > > I would like to differ with you here: It can be quite useful to have > second chances for overloads. Think ``np.func(list, custom_array))``: If > second rounds did not exist, custom_array would need to have a list of > coercible types (which is not nice IMO). > Even if we did this, we would still want to preserve the equivalence between: 1. Returning NotImplementedButCoercible from __array_ufunc__ or __array_function__, and 2. Not implementing __array_ufunc__ or __array_function__ at all. Changing __array_ufunc__ to do multiple rounds of checks could indeed be useful in some cases, and you're right that it would not change existing behavior (in these cases we currently raise TypeError). But I'd rather leave that for a separate discussion, because it's orthogonal to our proposal here for __array_function__. (Personally, I don't think it would be worth the additional complexity.)
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion