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



Reply via email to