<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 color="#000000" face="monospace, monospace">of the predicate in an if, elif or  while statement. It still uses `as` for</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">its keyword, but with (more flexible) params instead of a direct assignment.</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace"><br></font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">It mashes up the if/while, def/class and for-in grammars, so it still looks</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">like Python, and boils down to this:</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace"><br></font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">    if|elif|while <predicate> as (<params>): <suite></font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace"><br></font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">If the params contain one simple name (the required minimum), the value of</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">the predicate is assigned to that name. In any other case, the value must</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">be a sequence, which gets unpacked:</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace"><br></font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">    while input('$ ').split() as (command, *args):</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">        </font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">        if run(command, parse(args)) as (result): render(result)</font></div><div class="gmail_default"><font color="#000000" face="monospace, monospace">        else: sys.exit()</font></div><div class="gmail_default" style="color:rgb(0,0,0);font-size:small"><br></div></div><div><div class="gmail_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>
</div>