[Haskell-cafe] Is there a library that has a strict version of `sum`?

Bryan Richter b at chreekat.net
Tue Aug 14 19:37:06 UTC 2018

On 08/14/2018 02:57 PM, Damian Nadales wrote:
> On Tue, Aug 14, 2018 at 8:10 PM Vanessa McHale <vanessa.mchale at iohk.io <mailto:vanessa.mchale at iohk.io>> wrote:
>     Yes, that was what I was never quite clear on. What is your *actual problem, in context*, not the problem you think you have because you read elsewhere that foldl' is more efficient?
> The problem I have is that sum consumes huge amount of memory. In particular I'm modeling the Chimeric ledgers described in this paper https://eprint.iacr.org/2018/262.pdf. In several places I have to
> sum up values in different lists, and as soon as I try this with large lists the memory usage blows up. So that's my concrete scenario.
> In view of this, I though, "I can write this replacing `sum` by `foldl' (+) 0` but wouldn't be nice if this function was defined already somewhere else?" That's it.
> Please ignore this if it is a silly question, and my apologies in advance.

I think your question is not silly, and quite reasonable. I think that giving more context up front, however, would have helped people understand what your were actually asking. Based solely on what
you wrote, you might have been someone who was summing [1..10] for the first time ever and looking for that hypothetical foldl/foldl' analogue, like Vanessa said. :) Being specific helps.

Having said all that, I am also surprised that `sum [1..100000000]` blows up! (But now I see others are responding with rationale for that.)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180814/8f8d7b31/attachment.sig>

More information about the Haskell-Cafe mailing list