<div dir="ltr">`foldr (+) 0` is going to create a bunch of thunks replacing the spine of the list. This is desirable if the number type can take advantage of laziness in some way (eg a `data Nat = Z | Succ Nat`), but for most cases, the `foldl' (+) 0` implementation is preferable.<div><br></div><div>`sum' = foldl' (+) 0` would (in my opinion) be a reasonable addition to the Prelude, or at least Data.Foldable, but no one has done the work to do that -- if you raise an issue on the GHC Trac then it will be up for discussion and possible inclusion.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Matt Parsons</div></div></div></div>
<br><div class="gmail_quote">On Tue, Aug 14, 2018 at 1:17 PM, Imants Cekusins <span dir="ltr"><<a href="mailto:imantc@gmail.com" target="_blank">imantc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class="">> <span style="font-size:14.4px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>I have to sum up values in different lists, and as soon as I try this with large lists the memory usage blows up.</span><div><br></div></span><div>did you try splitting the list in chunks and summing those chunks?</div><div><br></div><div>there is this chunksOf function:</div><div><a href="http://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Sequence.html#g:9" target="_blank">http://hackage.haskell.org/<wbr>package/containers-0.6.0.1/<wbr>docs/Data-Sequence.html#g:9</a><br></div><div><br></div></div>
<br>______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br></div>