<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Apr 20, 2018 at 2:04 PM, Chris Angelico <span dir="ltr"><<a href="mailto:rosuav@gmail.com" target="_blank">rosuav@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sat, Apr 21, 2018 at 6:59 AM, Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br>
> Does the PEP currently propose to *allow* that horrible example? I thought<br>
> Tim Peters successfully pleaded to *only* allow a single "NAME := <expr>".<br>
> You don't have to implement this restriction -- we know it's possible to<br>
> implement, and if specifying this alone were to pull enough people from -1<br>
> to +0 there's a lot of hope!<br>
<br>
</span>I don't see much value in restricting the assignment target to names<br>
only, but if that's what it takes, it can be restricted, at least<br>
initially.</blockquote><div><br></div><div>All of this is an exercise in listening and compromise, not in solving puzzles.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As to chaining... well, since the entire construct (target<br>
:= expr) is an expression, it can be used on the right of :=, so short<br>
of outright forbidding it, there's not a lot to be done.<br></blockquote></div><br></div><div class="gmail_extra">It would be more work but it can definitely be done (perhaps by introducing a syntactic construct of intermediate precedence). People could write "a := (b := foo())" but that way they resolve the ambiguity. Although if we restrict targets to just names there's less concern about ambiguity.<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>