<div dir="ltr">Replying also to the list.<br><div class="gmail_extra"><br><div class="gmail_quote">On 22 April 2018 at 09:14, Ivan Levkivskyi <span dir="ltr"><<a href="mailto:levkivskyi@gmail.com" target="_blank">levkivskyi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>On 20 April 2018 at 21:59, Guido van Rossum<span> </span><span dir="ltr"><<a href="mailto:guido@python.org" style="color:rgb(17,85,204)" target="_blank">guido@python.org</a>></span><span> </span>wrot<wbr>e:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">Does the PEP currently propose to *allow* that horrible example? I thought Tim Peters successfully pleaded to *only* allow a single "NAME := <expr>". You don't have to implement this restriction -- we know it's possible to implement, and if specifying this alone were to pull enough people from -1 to +0 there's a lot of hope!<br></div><div class="gmail_extra" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div></blockquote></div><div><br></div>* FWIW I an -1 on anything but a simple name.<div><br></div><div>* Also Tim proposed a good idea to call these "binding expressions". Because in contrasts the different purposes. Binding expressions would be probably typically used to (temporarily) name an expression, while assignment statements are actually creating "variables" -- long living names intended to be accessed externally to a class/module. The latter access can be programmed to trigger arbitrary complex code (see properties, __getattr__/__setattr__, etc).</div><div><br></div><div>* Re implementing restrictions: there is a CST -> AST step that will allow to easily prohibit unwanted forms (FWIW this is how unpacking an chaining is prohibited for annotated assignments).</div><div><br></div><div>* Re using plain "=": Although I am still using this in C quite often, I was bitten badly by this several times when I was younger, I don't want a similar experience when _learning_ Python.</div><div><br></div><div>Modulo these points I would be +0 on the PEP.</div><div><br></div><div>--</div><div>Ivan</div><div><br></div><div><br></div></div>
</blockquote></div><br></div></div>