On Wed, May 20, 2009 at 07:55:55PM -0500, John M. Dlugosz wrote:
> If you would be so kind, please take a look at  
> <http://www.dlugosz.com/Perl6/web/med-loop.html>.  I spent a couple days  
> on this, and besides needing it checked for correctness, found a few  
> issues as well as more food for thought.

It's been legal (for more than two years) to nest a condtional inside
a loop modifier without extra parens:

    @array = ($_ if .prime for 1..10);

In fact, the first example in S04 "Loop statements" is:

    @evens = ($_ * 2 if .odd for 0..100);

And since the "when" modifier counts as a conditional, you can rewrite

    grep Dog, @mammals

as

    $_ when Dog for @mammals;

So perhaps will see a lot of subtypes used this way: 

    subset Odd if Int where { $_ % 2 };
    @evens = ($_ * 2 when Odd for 0..*);

Well, those examples are pretty silly.  Anyone with better
examples should feel free to edit the specs.

Larry

Reply via email to