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 .