On 6/24/2020 1:49 PM, Tim Peters wrote:
".NAME" grated at first, but extends the idea that dotted names are always constant value patterns to "if and only if". So it has mnemonic value. When context alone can't distinguish whether a name is meant as (in effect) an lvalue or an rvalue, no syntax decorations can prevent coding errors. Names in destructuring constructs are overwhelmingly intended as lvalues, so adding extra cruft to say "no, I meant rvalue" is the pragmatic choice. This is just a bunch of words to me, without meaning.
I'd like to understand it. What do you mean by "the idea that dotted names are always constant value patterns"? What do you mean by 'extends (the above) to "if and only if" '? As a result of not understanding the above, I see no mnemonic value. My understanding of the "." as proposed is that it is optional, except in cases where it would be ambiguous... seems like it would be better if it were required for one case or the other, so that there would be no need to determine whether or not it is ambiguous by the surrounding state/code/declarations.