On Fri, May 1, 2020 at 5:55 PM Andrew Barnert via Python-ideas <
python-ideas@python.org> wrote:

> On May 1, 2020, at 11:19, Brandt Bucher <brandtbuc...@gmail.com> wrote:
> >
> > I have pushed a first draft of PEP 618:
> >
> > https://www.python.org/dev/peps/pep-0618
>
> The document says “… with nobody challenging the use of the word
> ‘strict’”, but people did challenge it, and even more people just called it
> “equal” instead of “strict” when arguing for it or +’ing it (which implies
> a preference even if there’s no argument there), and the only known prior
> art on this is more-itertools, which has a zip_equal function, not a
> zip_strict function.
>

I completely agree with this. I didn't bother replying to the original
thread as other people had already mentioned my favourite idea which was to
use something like

mode = "equal" | "shortest" | "longest"

with "shortest" as the default (avoiding causing any breakage with the
existing function).

André Roberge

>
> I think it misrepresents the arguments for a separate function and
> undersells the advantages—it basically just addresses the objections that
> are easiest to reject. I don’t want to rehash all of my arguments and those
> of a dozen other people, since they’re already in the thread, but let me
> just give one: A separate function can be used in third-party libraries
> immediately, as long as there’s an available backport (whether that’s
> more-iterools, or a trivial zip39 or whatever) that they can require; a
> flag can’t be used in libraries until they’re able to require Python 3.9
> (unless they want to use a backport that monkey patches or shadows the
> builtin, but I doubt you’d suggest that, since you called it an antipattern
> elsewhere in the PEP).
>
> It implies that infinite iterators are the only legitimate place where
> you’d ever want the existing shortest behavior.
>
> Also, I don’t think anyone on the thread suggested the alternative of
> changing the behavior of zip _today_. Serhiy only suggested that we should
> leave the door open to doing so in the future, by having an enum-valued
> flag instead of a bool, or zip_shortest alongside zip_equal and
> zip_longest, or whatever. That allows people to explicitly say they want
> shortest when they want it, now—which might be beneficial even on its own
> terms. And if people end up usually using strict, and usually being
> explicit when they want shortest, then at that point it might be worth
> changing the default (or just not having one). So the argument against the
> alternative doesn’t really cover the actual thing suggested, but a
> different thing nobody wanted.
>
> _______________________________________________
> 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/MHP3V2GFFBIDXVCY4T62TL4YRLGYGTGW/
> 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/UJVFHWEVJ3MOJRSZJLFLU73L3WWFI2YX/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to