This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author veky
Recipients BTaskaya, EmilStenstrom, eric.smith, gregory.p.smith, jack1142, mrabarnett, pablogsal, rhettinger, serhiy.storchaka, terry.reedy, veky, xtreak
Date 2021-03-21.03:36:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1616297818.21.0.947264406368.issue43535@roundup.psfhosted.org>
In-reply-to
Content
Yes, I know what strong typing means, and can you please read again what I've written? It was exactly about "In the face of ambiguity, refuse the temptation to guess.", because binary operators are inherently ambiguous when given differently typed operands. Methods are not: the method _name_ itself is resolved according to self's type, it seems obvious to me that the arguments should too. Otherwise "explicit fanatics" would probably want to write list.append(things, more) instead of things.append(more).

The only reason we're having this conversation is that when it was introduced, `join` was a function, not a method. If it were a method from the start, we would've never even questioned its stringification of the iterable elements (and of course it would do that from the start, cf. set or dict update methods).

Gregory: yes, `bytes` elements are a problem, but that's a completely orthogonal problem (probably best left for linters). The easiest way to see it: do you object to (the current behavior of)

>>> s = {2, 7}
>>> s.update(b'Veky')

? :-)
History
Date User Action Args
2021-03-21 03:36:58vekysetrecipients: + veky, rhettinger, terry.reedy, gregory.p.smith, eric.smith, mrabarnett, serhiy.storchaka, pablogsal, xtreak, BTaskaya, EmilStenstrom, jack1142
2021-03-21 03:36:58vekysetmessageid: <1616297818.21.0.947264406368.issue43535@roundup.psfhosted.org>
2021-03-21 03:36:58vekylinkissue43535 messages
2021-03-21 03:36:58vekycreate