--- Sean O'Rourke <[EMAIL PROTECTED]> wrote:
> On Sat, 18 Jan 2003, Michael Lazzaro wrote:
> > So 'if' and friends are just (native) subroutines with prototypes like:
> >
> > sub if (bool $c, Code $if_block) {...};
>
> IIRC it's not that pretty, unfortunately, if you want to support this:
>
> if $test1 {
> # blah
> } elsunless $test2 {
> # ...
> }
>
> since that gets parsed as
>
> if($test1, { ... }) # aiee: too many arguments to "if"
>
> One possible solution would be to say that there's an implicit "whatever
> we need" after a closed curly. In that case there are two ways to go:
> (1) we can define things like "if" to be statements rather than
> expressions (a la C), and closed-curlies as the last arguments of
> "statement-like" functions can always have an implicit ";"; or (2) we can
> say that "}" results in an implicit ";" whenever we're at the end of an
> argument list and see a term rather than an operator. I think we turned
> up some nasty ambiguities with (2) last time we discussed this. It would
> certainly wreak havoc with unary minus.
>
> The other way is the "newline after curly" rule, which has a foul taste
> for those of us who cuddle our ifs.
>
> /s
>
Or we could just make if/unless/elsif/else special keywords. Not everything
needs to be a function.
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com