Damian Conway writes: > > BTW, Both Larry and I do understand the appeal of interleaving > sources and iterators. We did consider it at some length back > in January, when we spent a week thrashing this syntax out. > > Of course, I can't speak for Larry, but in the end I concluded > that interleaving iterator variables is a false win, since it > trades reduced syntactic complexity for increased semantic > complexity, but only really improves the readability of a > comparatively rare case. > > Damian >
but why ? I am just curious about details. is it complicated for "immediate component" of for loop ( mentioned by Larry Wall ) to cut-and-paste to reconstruct the original stream list and block signature. 1) for @a -> $x ; @b -> $y { ... } ===>>> 2) for @a ; @b -> $x ; $y { ... } at the price of -> not being consistently closure declarator *everywhere* and having a bit different meaning inside for ( and only for , because all other topicalizers dont know about streams -- am I right ?) . Which it is already not exactly , since immediate component of for loop preprocess the closure signature to match the streams . and besides, it seems to me that both 1) and 2) can coexist since for loop can controll what happens between "for" and {...} . but maybe I am wrong. I am just curious . arcadi .