<div dir="auto">That was a problem with the colon that occurred to me. I think it can't be tokenized in function annotations.<div dir="auto"><br></div><div dir="auto">Plus I still think the no-colon looks better. But that's bikeshedding. Also other words are plausible. I like lazy even more than delayed, I think. Still, I'd love the construct whatever the exact spelling.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Feb 17, 2017 12:41 PM, "Joshua Morton" <<a href="mailto:joshua.morton13@gmail.com">joshua.morton13@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think it could even be true without, but the colon may cause ambiguity problems with function annotations. <div><br></div><div> def foo(delayed: delayed: 1 + 2)</div><div><br></div><div>is a bit odd, especially if `delayed` is chainable.</div><div><br></div><div>--Josh</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Feb 17, 2017 at 3:32 PM Joseph Hackman <<a href="mailto:josephhackman@gmail.com" target="_blank">josephhackman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_-9078025003225784048gmail_msg"><div class="m_-9078025003225784048gmail_msg">Couldn't the same thing be true of delayed if it is always followed by a colon?</div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg">I.e. </div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg">delayed=1</div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg">x= delayed: slow_function()</div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg">print(delayed) # prints 1</div></div><div dir="auto" class="m_-9078025003225784048gmail_msg"><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div id="m_-9078025003225784048m_-7316858675070700775AppleMailSignature" class="m_-9078025003225784048gmail_msg">-Joseph</div></div><div dir="auto" class="m_-9078025003225784048gmail_msg"><div class="m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg">On Feb 17, 2017, at 2:39 PM, Mark E. Haase <<a href="mailto:mehaase@gmail.com" class="m_-9078025003225784048gmail_msg" target="_blank">mehaase@gmail.com</a>> wrote:<br class="m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><blockquote type="cite" class="m_-9078025003225784048gmail_msg"><div class="m_-9078025003225784048gmail_msg"><div dir="ltr" class="m_-9078025003225784048gmail_msg"><div class="gmail_extra m_-9078025003225784048gmail_msg"><div class="gmail_quote m_-9078025003225784048gmail_msg">On Fri, Feb 17, 2017 at 1:55 PM, Joshua Morton <span dir="ltr" class="m_-9078025003225784048gmail_msg"><<a href="mailto:joshua.morton13@gmail.com" class="m_-9078025003225784048gmail_msg" target="_blank">joshua.morton13@gmail.com</a>></span> wrote:<br class="m_-9078025003225784048gmail_msg"><blockquote class="gmail_quote m_-9078025003225784048gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">but I'm wondering how common async and await were when that was proposed and accepted?</blockquote></div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div class="gmail_extra m_-9078025003225784048gmail_msg">Actually, "async" and "await" are backwards compatible due to a clever tokenizer hack. The "async" keyword may only appear in a few places (e.g. async def), and it is treated as a name anywhere else.The "await" keyword may only appear inside an "async def" and is treated as a name everywhere else. Therefore...<br class="m_-9078025003225784048gmail_msg"></div></div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div class="gmail_extra m_-9078025003225784048gmail_msg"> >>> async = 1</div><div class="gmail_extra m_-9078025003225784048gmail_msg"> >>> await = 1</div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div class="gmail_extra m_-9078025003225784048gmail_msg">...these are both valid in Python 3.5. This example is helpful when proposing new keywords.</div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div class="gmail_extra m_-9078025003225784048gmail_msg">More info: <a href="https://www.python.org/dev/peps/pep-0492/#transition-plan" class="m_-9078025003225784048gmail_msg" target="_blank">https://www.python.org/<wbr>dev/peps/pep-0492/#transition-<wbr>plan</a></div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div><div class="gmail_extra m_-9078025003225784048gmail_msg"><br class="m_-9078025003225784048gmail_msg"></div></div>
</div></blockquote><blockquote type="cite" class="m_-9078025003225784048gmail_msg"><div class="m_-9078025003225784048gmail_msg"><span class="m_-9078025003225784048gmail_msg">______________________________<wbr>_________________</span><br class="m_-9078025003225784048gmail_msg"><span class="m_-9078025003225784048gmail_msg">Python-ideas mailing list</span><br class="m_-9078025003225784048gmail_msg"><span class="m_-9078025003225784048gmail_msg"><a href="mailto:Python-ideas@python.org" class="m_-9078025003225784048gmail_msg" target="_blank">Python-ideas@python.org</a></span><br class="m_-9078025003225784048gmail_msg"><span class="m_-9078025003225784048gmail_msg"><a href="https://mail.python.org/mailman/listinfo/python-ideas" class="m_-9078025003225784048gmail_msg" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a></span><br class="m_-9078025003225784048gmail_msg"><span class="m_-9078025003225784048gmail_msg">Code of Conduct: <a href="http://python.org/psf/codeofconduct/" class="m_-9078025003225784048gmail_msg" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a></span></div></blockquote></div>______________________________<wbr>_________________<br class="m_-9078025003225784048gmail_msg">
Python-ideas mailing list<br class="m_-9078025003225784048gmail_msg">
<a href="mailto:Python-ideas@python.org" class="m_-9078025003225784048gmail_msg" target="_blank">Python-ideas@python.org</a><br class="m_-9078025003225784048gmail_msg">
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" class="m_-9078025003225784048gmail_msg" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br class="m_-9078025003225784048gmail_msg">
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" class="m_-9078025003225784048gmail_msg" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a></blockquote></div>
<br>______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a><br></blockquote></div></div>