[Numpy-discussion] Proposal to accept NEP-18, __array_function__ protocol

Charles R Harris charlesr.harris at gmail.com
Sun Sep 2 14:58:50 EDT 2018


On Wed, Aug 1, 2018 at 6:27 PM Stephan Hoyer <shoyer at gmail.com> wrote:

> I propose to accept NEP-18, "A dispatch mechanism for NumPy’s high level
> array functions":
> http://www.numpy.org/neps/nep-0018-array-function-protocol.html
>
> Since the last round of discussion, we added a new section on "Callable
> objects generated at runtime" clarifying that to handle such objects is out
> of scope for the initial proposal in the NEP.
>
> If there are no substantive objections within 7 days from this email, then
> the NEP will be accepted; see NEP 0 for more details.
>
>
Skipping over all the discussion following this for brevity. I find myself
in general agreement with Stephan and think we should go ahead and merge
this. A few points:

   1. I don't think we should have an opt in environment variable, just put
   `__array_function__` out there with the understanding that it might change
   with experience. I don't think scores, let alone thousands, of folks are
   going to rush to take advantage of this, most likely the developers of the
   proposal will be the early adopters.
   2. I have a preference for implementing high level functions rather than
   low level, and fewer rather than more, with the choice driven by need. I
   think that will limit the amount of interdependence tangle and, in the long
   run, might serve to define an unofficial NumPy API.
   3. NumPy cannot manage all the projects that make use of the new option
   to keep them in sync, we have neither the time nor experience to do so, and
   historic attempts along those lines tended to die in obscurity. To the
   extent that we do so, it comes down to 2.
   4. I don't think this conflicts with Nathaniel's proposal, the main
   disagreement seems to over how to proceed and the selection of functions,
   see 2.
   5. The `__array_function_types__` idea looks interesting.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20180902/80866523/attachment.html>


More information about the NumPy-Discussion mailing list