<div dir="auto">Hi Erik,<div dir="auto"><br></div><div dir="auto">I have changed my proposal to the alternative syntax  </div><div dir="auto"> a:: b</div><div dir="auto">(Note my preferred spacing.</div><div dir="auto">This is to make it read like some annoation applied to the expression,</div><div dir="auto">like</div><div dir="auto">   delayed:: expensive_function()+1</div><div dir="auto">)</div><div dir="auto"><br></div><div dir="auto">Since :: is a binary operator, we need to think about</div><div dir="auto">associativity.</div><div dir="auto"><br></div><div dir="auto">My conservative proposal would be to make it non-associative,</div><div dir="auto">you would have to write explicitly</div><div dir="auto">  a:: (b:: c)</div><div dir="auto">or</div><div dir="auto"> (a:: b):: c</div><div dir="auto"><br></div><div dir="auto">Stephan</div></div><div class="gmail_extra"><br><div class="gmail_quote">Op 17 feb. 2017 22:35 schreef "Erik" <<a href="mailto:python@lucidity.plus.com">python@lucidity.plus.com</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On 17/02/17 10:22, Stephan Houben wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Proposal: Light-weight call-by-name syntax in Python<br>
<br>
  The following syntax<br>
     a : b<br>
  is to be interpreted as:<br>
     a(lambda: b)<br>
</blockquote>
<br></div>
Isn't this too general a syntax? Doesn't it lead to something like:<br>
<br>
if a: b: c: d: e: pass<font color="#888888"><br>
<br>
E.<br>
</font></blockquote></div><br></div>