On Sat, Jun 24, 2006 at 04:52:26PM -0700, Audrey Tang wrote:
>     $x = 1 if my $x;
> 
> The compiler is "allowed" to complain, but does that means it's also  
> okay to not die fatally, and recover by pretending as if the user has  
> said this?
> 
>     # Current Pugs behaviour
>     $OUTER::x = 1 if my $x;

I think that a statement like  C<< $x = 1 if my $x; >> ought to
complain.  

Put slightly differently, if it's an error in any of the compilers,
it probably should be an error in all of them.

> If it's required to complain, then the parser need to remember all  
> such uses and check it against declaration later, and it'd be better  
> to say that in the spec instead.

I think that S04's phrase "then it's an error to declare it" 
indicates that this should always be treated as an error.  How/when
the compiler chooses to report the error is up to the compiler.  :-)
That said, I wouldn't have any objection to removing or altering
"the compiler is allowed to complain at that point" phrase so
as to remove this particular ambiguity.

Pm

Reply via email to