Daniel Fischer wrote: > Am Samstag 13 Juni 2009 17:00:36 schrieb Jochem Berndsen: >> Deniz Dogan wrote: >>> 2009/6/13 Jochem Berndsen <joc...@functor.nl>: >>>> 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). > > Well, if you have lazy Peano numbers of any kind, you know that all entries > are non- > negative and you needn't evaluate x fully to determine whether it's > 10. > Isn't that the > point why one would use lazy numbers at all?
Yes. (That's what I meant with 'custom solution', using Peano numbers instead of Ints or Integers.) Regards, -- Jochem Berndsen | joc...@functor.nl GPG: 0xE6FABFAB _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe