First of all, I would like to introduce myself. I have been watching the Perl6 language ideas for some time with growing interest. I am not a great programmer, more like a hobbyist who sometimes applies his programming skills at work. And here are my views on this very interesting topic ;)
> Simon Cozens wrote: >> Once again we're getting steadily closer to inventing Ruby. > Agreed, but I don't think this is necessarily a Bad Thing. Now, I do like Ruby. And I definately don't see this as a Bad Thing. In my opinion, Perl6 should have all the best features from all the best languages ;) > myhash.keys.sort.join(', ') # valid in both Ruby and TT > Of course, this is semantically no different to the Perl 5 equivalent: > join(', ', sort keys %$myhash) The first one seems to be more readable to me, although I am used to using the second one. I think it would be easier for new people to learn (and to use) the first case rather the second one (I am taking a newbie point of view here ;) > I think both are equally valid and should be supported, if possible. TIMTOWTDI revisited. I am not sure how Larry stands on thsi fundamental Perl paradigm in Perl6, but I have grown accustomed with TIMTOWTDI and that's why I like Perl. > The sticky issue is how to pass a block to sort, map, grep, etc. > Well, if we can't come up with anything better than explicitly passing > a block as an argument, e.g. > $hash.keys.sort({ ... }).join(', '); This is not as bad. At least it seems to me quite natural and easily understandable. > If you end up writing pathological cases where you're passing lots of > blocks as arguments, then perhaps it would be better written in a > regular Perl 5 right to left (nested), or even a mixed style. > join( ', ', sort { ... } $hash.keys ); Now this it where things start to get weird, of course. Lots of possibilities for obfuscation, but again, Perl5 has been famous for these kind of things. Petras Kudaras