
29 Sep
2005
29 Sep
'05
6:53 p.m.
On 30 Sep 2005, at 11:33, gary ng wrote:
Hi,
say if I want to sum a list of numbers but only until it hits a max limit.
Currently, I control it through the function and basically do nothing when the max is hit. However, if the list is very long, would this mean the same function would be called for the rest of the list which can be a waste of cycle ? In an imperative language, I just break/return in the middle of the loop.
No - lazy evaluation guarantees that if a reduct is never needed, it is never reduced. So as your function never needs the latter values in the list, it is never evaluated. Bob