> PROPOSAL > Replace the 'if', 'unless', 'when' statement modifiers by identically > named lowest-precedence left-associative operators that short-circuit > from right to left. > > This means 'FOO if BAR' is identical to 'BAR and FOO', except it has a > lower precedence, and 'FOO unless BAR' is identical to 'BAR or FOO', > except it has a lower precedence. FOO and BAR are arbitrary expressions. > Because of left-associativity, 'FOO if BAR if BAZ' is identical to > 'BAZ and BAR and FOO'. > > 'FOO when BAR' is similar to 'FOO if BAR' except BAR is matched magically > like the rhs of the ~~ operator and an implicit 'break' occurs if true. > > RATIONALE > 1. it doesn't hurt anything: existing use of the modifiers (now operators) > remains functionally the same. > 2. it allows new useful expressions > 3. it's more consistent ('if' has no reason being more special than 'and') > 4. it shouldn't make parsing more difficult
It is nice to see someone who puts as much thought into posting as you do. Unfortunately, your proposal is moot, as we have a definitive "No, still can't chain them" from Larry. http://archive.develooper.com/perl6-language%40perl.org/msg09331.html Luke