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

Nathaniel Smith njs at pobox.com
Mon Aug 13 18:27:52 EDT 2018


On Mon, Aug 13, 2018 at 2:44 AM, Nathaniel Smith <njs at pobox.com> wrote:
> So this is like... an extreme version of technical debt. You're making
> a deal with the devil for wealth and fame, and then eventually the
> bill becomes due. It's hard for me to say categorically that this is a
> bad idea – empirically, it can be very successful! But there are real
> trade-offs. And it makes me a bit nervous that Matt is the one
> proposing this, because I'm pretty sure if you asked him he'd say he's
> absolutely focused on how to get something working ASAP and has no
> plans to maintain numpy in the future.

Rereading this today I realized that it could come across like I have
an issue with Matt specifically. I apologize to anyone who got that
impression (esp. Matt!) -- that definitely wasn't my intent. Matt is
awesome. I should stop writing these things at 2 am.

What I should have said is:

We have an unusual decision to make here, where there are two
plausible approaches that both have significant upsides and downsides,
and whose effects are going to be distributed in a complicated way
across different parts of our community over time. So the big
challenge is to figure out how to take all that into account and weigh
the needs of different stakeholders against each other.

One major argument for the __array_function__ approach is that it has
an actual NEP, which happened because we have a contributor who took
the lead on making it happen, and who's deeply involved in some of the
target projects like dask and sparse, so can make sure that the
proposal will work well for them. That's a huge advantage! But... it
also makes me a *little* nervous, because when you have really
talented and productive contributors like this it's easy to get swept
up in their perspective. So I want to double-check that we're also
thinking about the stakeholders who can't be as active in the
discussion, like "numpy maintainers from the future".

(And I mostly mean this as a "we should keep this in mind" kind of
thing – like I said in my original post, I think moving forward
implementing __array_function__ is a great idea; I just want to be
cautious about getting more experience before committing.)

-n

-- 
Nathaniel J. Smith -- https://vorpus.org


More information about the NumPy-Discussion mailing list