Mashup the existing statement grammars to capture predicates

This is another suggestion for new syntax for assigning a name to the value of the predicate in an if, elif or while statement. It still uses `as` for its keyword, but with (more flexible) params instead of a direct assignment. It mashes up the if/while, def/class and for-in grammars, so it still looks like Python, and boils down to this: if|elif|while <predicate> as (<params>): <suite> If the params contain one simple name (the required minimum), the value of the predicate is assigned to that name. In any other case, the value must be a sequence, which gets unpacked: while input('$ ').split() as (command, *args): if run(command, parse(args)) as (result): render(result) else: sys.exit() -- Carl Smith carl.input@gmail.com
participants (2)
-
Carl Smith
-
Chris Angelico