[Numpy-discussion] NEP: Dispatch Mechanism for NumPy’s high level API

Matthew Harrigan harrigan.matthew at gmail.com
Mon Jun 4 07:28:09 EDT 2018


Should there be discussion of typing (pep-484) or abstract base classes in
this nep?  Are there any requirements on the result returned by
__array_function__?

On Mon, Jun 4, 2018, 2:20 AM Stephan Hoyer <shoyer at gmail.com> wrote:

>
> On Sun, Jun 3, 2018 at 9:54 PM Hameer Abbasi <einstein.edison at 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 at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20180604/f7fef143/attachment.html>


More information about the NumPy-Discussion mailing list