On Tue, 5 May 2020, 18:24 Steven D'Aprano, <st...@pearwood.info> wrote:
> On Tue, May 05, 2020 at 05:26:02PM +0100, Henk-Jaap Wagenaar wrote: > > > This is a straw man in regards to backwards compatibility. This > particular > > (sub)thread is about whether if this zip-is-strict either as a separate > > name or a Boolean flag or some other flag of zip should be a built-in or > be > > in e.g. itertools. > > Please don't misuse "strawman" in that fashion. A strawman argument is a > logical fallacy where you attack a weaker position your opponent didn't > make in order to make your own position stronger. That's not what Chris > did, and frankly accusing him of strawmanning is a form of "poisoning > the well". > What Chris did was to propose a counterfactual to express his opinion on > this proposal. To paraphrase: > > "If this were true (we were designing zip from scratch for the first > time) then I would agree with the proposal, but since we aren't, I > disagree because of these reasons." > > That is a perfectly legitimate position to take. > I agree on the face of it (in regards to strawmanning and your paraphrasing), except I wasn't disagreeing with anything you've gone into the detail above, but I disagreed with one of the reasons listed and thought it was strawmanning, namely the "the backward compatibility break large" (see further down, why). > > "If we weren't in lockdown, I would take you out for dinner at a > restaurant, but since we are in quarantine, I don't think we > should go out." > > Personally, I don't think Chris' backwards-compatibility argument is > strong. Technically adding a new keyword argument to a function is > backwards-incompatible, but we normally exclude that sort of change. Who > writes this? > > # This behaviour will be changed by the proposed new parameter. > zip('', strict=1) # Raise a type error. > > So I think the *backwards incompatibility* argument is weak in that > regard. But maybe Chris has got a different perspective on this that I > haven't thought of. > > I cannot interpret that as a "large" break as Chris says, so I must assume he meant something else (changing the default is my assumption) unless somebody (Chris or otherwise) can tell me why adding a keyword argument would be a large incompatible change? > > [Chris] > > > Should they? I'm not sure how well-supported this actually is. If you > > > hand-craft an AST and then compile it, is it supposed to catch every > > > possible malformation? > > I would expect that the ast library should accept anything which could > come from legal Python, and nothing that doesn't. > > > -- > Steven > _______________________________________________ > 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/GQZLWLOHFPBQLADHYLHW6JYY2X4S4ABA/ > 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/R4EV4JWACQDCSGBMBXWQSNYTNAJWU6LH/ Code of Conduct: http://python.org/psf/codeofconduct/