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.