
12 Dec
2007
12 Dec
'07
3:58 p.m.
benja.fallenstein:
Hi Thomas,
On Dec 12, 2007 5:31 PM, Thomas Hartman
wrote: (solution involves building an accum list of (average,listLength) tuples. again you can't do a naive fold due to stack overflow, but in this case even strict foldl' from data.list isn't "strict enough", I had to define my own custom fold to be strict on the tuples.)
Might it be worthwhile considering the use of a custom strict pair type instead of rewriting the strict fold functions? I.e., define
data Pair a b = Pair !a !b
and then use ordinary foldl' and foldr' on that.
And no need to even use custom ones, just use the library strict pairs, http://hackage.haskell.org/packages/archive/strict/0.2/doc/html/Data-Strict-... Reuse! Reuse!