Damian Conway writes: > Famous last words. ;-) > > > > Was it ever decided what C<for> would look like with multiple streams? > > for zip(@x, @y, @z) -> $x, $y, $z {...} > > and its operator version: > > for @x ¦ @y ¦ @z -> $x, $y, $z {...} > > > > Maybe we could just use the stream delimiters in the C<grep> like we do > > in C<for>? > > No. We gave up special stream delimiters in C<for>s, > in preference for general zippers. > > Damian >
but one can think of zip(...) being able to be l-value @x ¦ @y ¦ @z := map { /foo/ && $_ but unzip(0), /bar/ && $_ but unzip(1), /zap/ && $_ but unzip(2), }, @source; where argument of unzip is index of the stream to which to "direct" the value . but then I am not sure where the actual "nzipping" happens and what does it mean binding to the l-value function. arcadi