<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">Nah??<br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(115,115,115);font-style:italic;line-height:18px"><font size="1" face="monospace, monospace">-- Carl Smith</font></span><br></div></div><div><span style="color:rgb(115,115,115);font-style:italic;line-height:18px"><font size="1" face="monospace, monospace"><a href="mailto:carl.input@gmail.com" target="_blank">carl.input@gmail.com</a></font></span></div></div></div></div></div></div>
<br><div class="gmail_quote">On 24 May 2018 at 19:24, Carl Smith <span dir="ltr"><<a href="mailto:carl.input@gmail.com" target="_blank">carl.input@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 class="gmail_default"><div class="gmail_default"><font face="monospace, monospace"><span style="color:rgb(0,0,0)">This is another suggestion for new syntax for assigning a name to the value</span><br></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">of the predicate in an if, elif or  while statement. It still uses `as` for</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">its keyword, but with (more flexible) params instead of a direct assignment.</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000"><br></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">It mashes up the if/while, def/class and for-in grammars, so it still looks</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">like Python, and boils down to this:</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000"><br></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">    if|elif|while <predicate> as (<params>): <suite></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000"><br></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">If the params contain one simple name (the required minimum), the value of</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">the predicate is assigned to that name. In any other case, the value must</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">be a sequence, which gets unpacked:</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000"><br></font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">    while input('$ ').split() as (command, *args):</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">        </font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">        if run(command, parse(args)) as (result): render(result)</font></div><div class="gmail_default"><font face="monospace, monospace" color="#000000">        else: sys.exit()</font></div><span class="HOEnZb"><font color="#888888"><div class="gmail_default" style="color:rgb(0,0,0);font-size:small"><br></div></font></span></div><span class="HOEnZb"><font color="#888888"><div><div class="m_-2970332385756594178gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="monospace, monospace"><span style="color:rgb(115,115,115);font-style:italic;line-height:18px"><font size="1">-- Carl Smith</font></span><br></font></div></div><div><span style="color:rgb(115,115,115);font-style:italic;line-height:18px"><font size="1" face="monospace, monospace"><a href="mailto:carl.input@gmail.com" target="_blank">carl.input@gmail.com</a></font></span></div></div></div></div></div></div>
</font></span></div>
</blockquote></div><br></div>