[Python-Dev] PEP 572: Assignment Expressions (original) (raw)

Tim Peters tim.peters at gmail.com
Tue Apr 24 03:34:11 EDT 2018


[Stephen J. Turnbull[

Neologisms are usually written in the other order: "dead on arrival (DOA, for short)." ;-)

[Greg Ewing <greg.ewing at canterbury.ac.nz>]

Maybe we can make use of that?

if (x - xbase) (diff) and gcd(diff, n) (g) > 1: That doesn't work, because the (...) look like function calls. But what if we used a different set of bracketing characters: if (x - xbase) {diff} and gcd(diff, n) {g} > 1: I think that's unambiguous, because you can't currently put {...} straight after an expression.

As Guido noted more than once when this was still on python-ideas, this isn't a "a puzzle" to be solved by any technical tricks conceivable. He's not going to accept anything in his language that isn't at least plausibly evident. There's a long & distinguished history of other languages using ":=" for binding, which is why that one gained traction before this moved to python-dev.

To make it look even more like a neologism definition, we could require the bound names to be all-uppercase. :-)

if (x - xbase) {DIFF} and gcd(DIFF, n) {G} > 1: return G

Yes - now you're on the right track ;-)



More information about the Python-Dev mailing list