On Wed, Dec 4, 2019 at 3:12 PM Guido van Rossum firstname.lastname@example.org wrote:
We could treat it as a kind of future statement. If there’s a top level statement that defines the magic identitier we generate the special bytecode.
True, that would help solve the performance issue.
But I'm still -1 on the idea regardless of the performance. :)
On Wed, Dec 4, 2019 at 12:26 Brett Cannon email@example.com wrote:
On Tue, Dec 3, 2019 at 5:58 PM Random832 firstname.lastname@example.org wrote:
On Tue, Dec 3, 2019, at 13:43, Brett Cannon wrote:
-1 from me. I can see someone not realizing an operator was changed, assuming it's standard semantics, and then having things break subtly. And debugging this wouldn't be fun either. To me this is
without an explicit need for it, i.e. if you really want different semantics in your module then define a function and use that instead
influence-at-a-distance overriding of syntax.
Does it make a difference that it'd only apply to code that is physically in the same module where the function is defined? I'd originally planned to suggest full lexical scope for the lookup, in fact, so you could in theory do it within a single function.
Not enough to change my opinion. Changing how fundamental operators work just in a module is still influencing too far from the code site. For instance, if I navigate in my editor directly into the middle of a file or open a file and immediately start searching for the function I care about I won't notice that "+" no longer means what I thought it meant for integers because someone thought it would be smart to redefine that.
And as Serhiy pointed out, performance is going to get slammed by this, no opcode or not as you just introduced a new lookup on every syntactic operation. _______________________________________________ Python-ideas mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://email@example.com/message/DXZO7U... Code of Conduct: http://python.org/psf/codeofconduct/
-- --Guido (mobile)