Michael Lazzaro <[EMAIL PROTECTED]> writes: > On Friday, December 13, 2002, at 10:59 PM, Piers Cawley wrote: >> map { .[0] } >> sort { $^a[1] cmp $^b[1] } >> map { $_ => some_transform($_) } >> grep /.../, @array >> >> happily stays as it is; I fail to see what recasting that as >> >> map { .[0] } <- >> sort { $^a[1] cmp $^b[1] } <- >> map { $_ => some_transform($_) } <- >> grep /.../ <- @array >> >> or any other 'noisy' suggestion buys us. It just seems like the wrong >> kind of Laziness to me. > <edited to fix a minor typo> > > My only concern is that the first implies (as it does in perl5) yet > more special behaviors attached to the {...} brackets. Either "no > comma is needed after a closure",
I think that's already a given; there's definitely discussion elsewhere that takes that as read. And it's (prototyped) perl 5 behaviour, changing it to require a comma would be the Wrong Thing. > or "no comma needed after the first arg of the specific functions > named C<map>, C<grep>, ... Definitely the Wrong Thing. > I'm worried that in attaching even _more_ specialness to curlies > (which are already highly (impossibly?) magical), we're setting > ourselves up for some hurt down the road. It was OK in perl5, but I > don't know if it's OK in perl6. > > Mind you (purely devil's advocate), I'm not entirely sure the R-to-L > syntax truly _needs_ to be in Perl6. It's true I use it all the time, > but I can retrain to use L-to-R method calls with little effort.\ Personally I really don't like the L to R style; I know we've got it for C<< for ... -> $a { ... } >>, but I can see the logic behind that, otherwise L to R looks worryingly like C++ to me. > If we have a post-given, e.g. C<map {...} given @a> or C<map {...} is > given @a>, I think that gives us R-to-L without any special {...} > rules at all. No, just the addition of much ugliness to code for no gain in readability. And one more area where Perl 6 fails to look like Perl 5 for no good reason.