I found (after reading Synopse 3) that this is due to the fact that the
Z operator was list associative (not right or left). the zipping happens
all at once, rather than two at a time. The previous examples are actually
similar to the following (well, theres something wrong with the syntax):

]]>By: benedhttps://perl6advent.wordpress.com/2009/12/07/day-7-looping-for-fun-and-profit/#comment-67
Tue, 08 Dec 2009 15:47:55 +0000http://perl6advent.wordpress.com/?p=126#comment-67Ah, thanks. Good to see that automatic array flattening is not gone completely in Perl 6.
]]>By: Hurihttps://perl6advent.wordpress.com/2009/12/07/day-7-looping-for-fun-and-profit/#comment-63
Tue, 08 Dec 2009 00:02:07 +0000http://perl6advent.wordpress.com/?p=126#comment-63Thanks for the explanation of the : method call form. I hadn’t found it in the specs, and think it’s a pretty neat alternative method call format.

@array.map: *.say;

versus

@array.map(*.say);

Both do the same thing, but the first looks more like natural language than the second. The same goes for

@array.map: { “$^a $^b”.say }

versus

@array.map({“$^a $^b”.say});

The Perl 6 language design is very nice, and the work being done with Rakudo, Parrot and Blizkost makes me excited for the future.

]]>By: colomonhttps://perl6advent.wordpress.com/2009/12/07/day-7-looping-for-fun-and-profit/#comment-62
Tue, 08 Dec 2009 00:01:13 +0000http://perl6advent.wordpress.com/?p=126#comment-62bened: First, @a, @b is the list composed of all the elements of @a and all the elements of @b, rather than a list of two lists. You can get that from my @c = \@a, \@b.