> I got "No results matched your query" on the second URL, at which point I 
> didn't bother with the first.

Check again in case it's an error.

https://sourcegraph.com/search?q=context:global+lang:python+%5C%5B%5Cs*:%5Cs*%28i%7Cj%7Ck%7Cind%7Cindex%29%5Cs*%5C%5D%5Cs*%5C%2B%5Cs*%5C%28.*%5C%2C%5C%29%5Cs*%5C%2B%5Cs*%5B%5Cw%5C.%5D%2B%5C%5B%5Cs*%28i%7Cj%7Ck%7Cind%7Cindex%29%5Cs*%5C%2B%5Cs*1%5Cs*:%5Cs*%5C%5D&patternType=regexp

https://sourcegraph.com/search?q=context:global+lang:python+%3D%5Cs*list%5C%28%5B%5Cw%5C.%5D%2B%5C%29%5Cs*%5Cw%2B%5C%5B%5Cw%2B%5C%5D%5Cs*%3D%5Cs*%5B%5Cw%5C.%5D%2B%5Cs*%5B%5Cw%5C.%5D%2B%5Cs*%3D%5Cs*tuple%5C%28%5Cw%2B%5C%29&patternType=regexp

I get 500+ results for each query, including code from several prominent 
repositories and organizations, such as:

- pytorch
- pandas
- apache
- numpy
- jax
- sympy
- cupy
- tensorflow
- pyqtgraph
- aws
- dask
- deepmind
- h5py
- cloudflare
- facebook research

and so on.

> My perspective is that replacement of an item in a tuple is so simple that it 
> isn't even worth a utility function unless it is generalised.

I don't oppose the latter.

> Just build a new tuple using slicing and concatenation expressions. Not every 
> expression is worth an actual named function. I feel that this proposal is 
> too small to bother with a function, let alone adding it to the tuple as a 
> builtin method.

See Christopher's comments on performance as a builtin.

------- Original Message -------

On Monday, March 14th, 2022 at 7:51 PM, Steven D'Aprano <st...@pearwood.info> 
wrote:

> On Mon, Mar 14, 2022 at 04:38:48PM +0000, wfdc wrote:
>
> > > I would think that at least is obvious: the top voted Python
> > >
> > > question on StackOverflow currently has 11891 votes. This is two
> > >
> > > orders of magnitude less.
> >
> > Like I said, this puts it in the top 3031 / 1908740 = 0.00159 = 0.159%
> >
> > of Python questions by vote count.
> >
> > That's not "a low number of votes" no matter how you try to spin it.
>
> It doesn't matter whether it is the top 0.159% or the top 0.00000001%,
>
> 160 votes or so is an objectively low number compared to the top ranking
>
> questions, with almost 100 times as many votes.
>
> Not that it matters. Even if the question had a trillion votes, that
>
> alone is not sufficient to justify the proposal.
>
> > > Popularity on StackOverflow is just a vague indication of
> > >
> > > popularity, not a sign of need or usefulness.
> >
> > Then see
> >
> > https://sourcegraph.com/search?q=context:global+lang:python+\[\s*:\s*(i|j|k|ind|index)\s*\]\s*\%2B\s*\(.%5C%2C%5C%29%5Cs%5C%2B%5Cs*%5B%5Cw%5C.%5D%2B%5C%5B%5Cs*%28i%7Cj%7Ck%7Cind%7Cindex%29%5Cs*%5C%2B%5Cs1%5Cs:%5Cs*%5C%5D&patternType=regexp
> >
> > https://sourcegraph.com/search?q=context:global+lang:python+%3D\slist%5C%28%5B%5Cw%5C.%5D%2B%5C%29%5Cs%5Cw%2B%5C%5B%5Cw%2B%5C%5D%5Cs*%3D%5Cs*%5B%5Cw%5C.%5D%2B%5Cs*%5B%5Cw%5C.%5D%2B%5Cs*%3D%5Cs*tuple%5C%28%5Cw%2B%5C%29&patternType=regexp
> >
> > for plenty more examples.
>
> I got "No results matched your query" on the second URL, at which point
>
> I didn't bother with the first.
>
> Thank you for providing some search terms, but you misunderstand the
>
> process of proposing new functionality to the builtins and stdlib. The
>
> onus is not on us to do the work, but for those making the proposal.
>
> If we ask for examples, we expect you to do the work of curating some
>
> good examples, not just to dump a regex in our laps and tell us to
>
> search for them ourselves.
>
> The bottom line here is that we don't have to justify why the proposal
>
> isn't accepted. New feature requests are not Default Accept. All we need
>
> to do is nothing at all and the proposal doesn't go ahead.
>
> At this point, I don't think this discussion on Python-Ideas is going
>
> anywhere, which is a shame because I actually do like it.
>
> Those who are opposed to changes (whether for good reasons or bad) are
>
> dominating the discussion. You aren't going to change their mind. Those
>
> who are neutral or in favour have had their voices drowned out. We've
>
> already had the mailing list put into Emergency Moderation once,
>
> presumably because tempers are getting frayed.
>
> I think that your strategies here could include:
>
> (1) Give this up as a lost cause.
>
> (2) Ignore the negative feedback here and raise it as an enhancement
>
> request on the bug tracker, or a PR on the repo.
>
> You will probably have it rejected and be told to discuss it on
>
> Python-Ideas, but you might be lucky and get the interest of a core
>
> developer who loves this proposal and accepts it. (But probably not.)
>
> (3) Look for some fresh feedback, hopefully (from your perspective) less
>
> conservative and negative. Try the "Ideas" topic on Discus.
>
> Take into account the feedback you have already received. We've told you
>
> the sorts of things that the core devs and Steering Council will be
>
> looking for. If you're not willing to provide that, you'll get the same
>
> response.
>
> Python is a mature language, and the core developers and Steering
>
> Council are conservative when it comes to adding marginally useful
>
> features that aren't obvious Big Wins, and this is not a Big Win, it is
>
> at best a Small Win. This post from one of the core devs may help you
>
> understand the culture here:
>
> https://www.curiousefficiency.org/posts/2011/04/musings-on-culture-of-python-dev.html
>
> My advice to you is that if your time and care factor is low, save your
>
> energy for battles you really care about. We all want what is best for
>
> Python, we may just disagree on what the balance of pros and cons are.
>
> If your care factor is high, and you want to continue gathering support
>
> for the proposal with the intention of writing a PEP, then listen to
>
> those of us who have written successful PEPs in the past.
>
> > See also the "batteries included" point that was made ages ago. (If
> >
> > users find themselves re-implementing the same utility function over
> >
> > and over again across different projects, it's a good sign that such a
> >
> > function should be part of the standard library.)
>
> It is a sign, but how strong a sign is open for debate.
>
> My perspective is that replacement of an item in a tuple is so simple
>
> that it isn't even worth a utility function unless it is generalised.
>
> Just build a new tuple using slicing and concatenation expressions. Not
>
> every expression is worth an actual named function.
>
> I feel that this proposal is too small to bother with a function,
>
> let alone adding it to the tuple as a builtin method.
>
> But generalising it to all sequences, not just tuples, that interests me
>
> more. I've used this on strings and lists, probably more often than on
>
> tuples. Yes, it raises the bar for acceptance, but it also raises the
>
> benefit.
>
> > Your other questions are frankly not necessary to answer and feel like
> >
> > goalpost-moving. The two proposals you held up as examples don't even
> >
> > satisfy them.
>
> It isn't clear to me what other questions you are referring to.
>
> --
>
> Steve
>
> _______________________________________________
>
> Python-ideas mailing list -- python-ideas@python.org
>
> To unsubscribe send an email to python-ideas-le...@python.org
>
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/P4UZ6NFTSPVLMPQSFTYB2GMJBGZXXR7Q/
>
> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/3J4YXQV7SJPGHU4NM2LECSWO5FD32MNE/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to