Luke Palmer wrote:
> This requires infinite lookahead to parse.  Nobody likes infinite 
> lookahead grammars.

Perl already needs infinite lookahead. Anyways, most people
don't care whether a grammar is ambiguous or not -- if we did,
natural human languages would look very different.

People want expressive languages. (Some people even consider
ambiguity a feature. Poets? Comedians? Lawyers?)

I don't know how we should handle code blocks, but I do know
that the answer should solve human problems, not yacc's.

Perl 5 doesn't accept either of these loops:

   if ($_) { print "$_\n" } for (qw(1 0));
   print "$_\n" if ($_) for (qw(1 0));

The code must be written as:

   for (qw(1 0)) {
     print "$_\n" if ($_)
   }

Why won't a similar solution work for user-defined syntax in
Perl 6? (It would be no worse than Perl 5...)

- Ken

Reply via email to