[Haskell-cafe] how to break foldl' ?
Thomas Davie
tom.davie at gmail.com
Thu Sep 29 18:53:20 EDT 2005
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
More information about the Haskell-Cafe
mailing list