<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 13 May 2018 at 14:19, Guido van Rossum <span dir="ltr"><<a href="mailto:guido@python.org" target="_blank">guido@python.org</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>As anyone still following the inline assignment discussion knows, a problem with designing new syntax is that it's hard to introduce new keywords into the language, since all the nice words seem to be used as method names in popular packages. (E.g. we can't use 'where' because there's <a href="https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.where.html" target="_blank">numpy.where</a>, and we can't use 'given' because it's used in <a href="http://hypothesis.readthedocs.io/en/latest/quickstart.html" target="_blank">Hypothesis</a>.)</div><div><br></div><div>The idea I had (not for the first time :-) is that in many syntactic positions we could just treat keywords as names, and that would free up these keywords.</div></div></blockquote><div><br></div></div>While I think the "restricted use" idea would be confusing, I do like the idea of separating out "postfix keywords", which can't start a statement or expression, and hence can be used *unambiguously* as names everywhere that names are allowed.<br><br></div><div class="gmail_extra">Adding such a capability is essential to proposing a keyword based approach to inline assignments, and would technically also allow "and", "or", "is", and "as" to be freed up for use as names.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,<br></div><div class="gmail_extra">Nick.<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Nick Coghlan   |   <a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>   |   Brisbane, Australia</div>
</div></div>