Deniz Dogan wrote:
> 2009/6/13 Jochem Berndsen <[email protected]>:
>> Keith Sheppard wrote:
>>> Is there any reason that sum isn't strict? I can't think of any case
>>> where that is a good thing.
>>>
>>> Prelude> sum [0 .. 1000000]
>>> *** Exception: stack overflow
>> It is useful if the (+) is nonstrict; although I cannot think of any
>> useful mathematical structure where (+) would be nonstrict.
> 
> I remember needing a non-strict sum at least once, but I do not
> remember the exact application. But imagine having a (very) long list
> of numbers and you want to do A if the sum exceeds a small number,
> otherwise B.
> 
> if sum [0..100000] > 10 then A else B
> 
> However, this idea didn't work, because of strictness.

You can only do such things if you know that all entries of your list
are nonnegative. That requires a custom solution anyway (not to mention
the fact that to determine whether x > 10 or not, we need to explicitly
compute x).

Regards,

-- 
Jochem Berndsen | [email protected]
GPG: 0xE6FABFAB
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to