in reply to Re: map: chaining vs. nesting
in thread map: chaining vs. nesting

Regarding #2: The fact that map output size differs from input size doesn't mean there's no benefit to nesting vs. chaining. The benefit I expected was in memory overhead (from not having so many copies resident at once) more than in reduction of operations (from copying multiple times). I agree with your point about nesting being harder to read; that's why I suggested it as an optimization.

Putting the idea in better terms, I'm suggesting that map, in an ideal world where perl development was effortless, should behave like (1..100000): when its output is assigned, the range generates the whole list; but when its output is used iteratively (at least, in a foreach loop), it simply generates one output value at a time, as needed. map, grep, and ranges could all behave that way when feeding map, grep, or foreach.


We're not really tightening our belts, it just feels that way because we're getting fatter.

Replies are listed 'Best First'.
Re^3: map: chaining vs. nesting
by diotalevi (Canon) on Jun 18, 2004 at 16:23 UTC
    Lazy generation is a feature you can specify in perl6. Not yet so for perl5.