> [EMAIL PROTECTED] (Rod Adams) wrote in message > > > Proposed behavior of *?@ : All Arguement to Parameter mapping left of it > > are processed Left to Right. Once seen, the mapping starts over right to > > left. Everything remaining is slurpable. > > > > Yes, it's more expensive to use, just like the RE version, but shouldn't > > impact performance _too_ bad when it's not, since the behavior will be > > detectable at compile time. > > > > Thoughts? > > There is another problem beyond efficiency: the P6 list semantics is lazy. > > The following is valid P6, AFAIK: > > for 1 .. Inf { > print $_; > last when 10; > } > > And then most of the proposed methods (including popping off [EMAIL PROTECTED]) would > not work.
No, popping at least would work. I can assure you of that. > There is another problem that I see with a user defined my_for. We want to > be able to write > > my_for 1 .. 5 { something } > > and not have to write: > > my_for 1 .. 5 {something }; > > What is bothering me is the following: If we have a sub with the > signature: > sub very_complicated(Int $x, Code [EMAIL PROTECTED]) > > how would the following get parsed: > > very_complicated 7 { print "Hello," } { print " world!"} > # Those were the 3 args I wanted to pass > # and the next one is outside the call > sub next_routine {...} > > It seems to me, then, that calls to user defined subs will need to end > with a semi-colon. Semicolon syntax shortcuts are still up in the air. People constantly get tripped up on whether or not to use a semicolon after whatever kind of block. So, there's going to be some rule which will allow you to omit them... As of A4, "a } on a line by itself gets an implicit semicolon added, if syntactically valid". But the rules might need to be a bit more complex. We'll see. Luke > > Abhi > > > Abhijit A. Mahabal Home: 520 N. Grant St, Apt #2 > Graduate Student, Bloomington IN 47408 > Dept of Cog Sci and Computer Science, 812 331 2286 > Indiana University Off: LH301I; 812 855 8898