Oh. Sorry. I suppose there was no discussion because there were no objections. I support it strongly. But everyone's already heard my opinion, and my opinion, and my opinion about it, so I'll be quiet now.
Luke On 6 May 2002, Aaron Sherman wrote: > It's odd, folks are still talking about the icky elsstuff, but I never > saw any discussion of my BNF proposal. Was it that no one saw it, that > my BNF was too rusty, or the idea of abandoning elsif for (in > pseudo-ebnf) > > FLOW = > ((if|unless|while|for) (E|CLOSURE_ARGS) | loop [E;E;E]) > BLOCK > [else > (FLOW|BLOCK)] ; > > was discounted out of hand? > > I'd really like to hear why something so almost absurdly simple could be > totally wrong. Heck, you could keep elsif around as a legacy if you > wanted, but it becomes rather pointless. Doesn't this make the grammar > shorter, and thus parsing more efficient as well? > > Someone had questioned the value of my example, so let me cite another: > > while $fh.getline -> $_ { > ... > } else for @users -> $user { > send_mail $user, "Hello, $user, the file was empty"; > } else if openlog $$, 'pid', 'user' { > syslog 'notice', "The file was empty!"; > } else { > die "Cannot even invoke syslog... a bad day: $!"; > } > > This is a very clear chain of causality. I could re-write it with nested > ifs and the like, but here we see the very heart of what I was trying to > do, with very little waste.