Jochem Berndsen schrieb: > 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).
http://hackage.haskell.org/packages/archive/non-negative/0.0.5/doc/html/Numeric-NonNegative-Chunky.html _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
