parallel strategies for foldMap?

Dear Cafe, I wonder if there is some accepted wisdom (and implementation) to support parallel foldMap in some uniform way. It should probably be tuneable for the case that mappend is less or more expensive than the function to apply in the elements. I can do the following, but it does not parallelize the mappends: import qualified Data.Foldable as F import Control.Parallel.Strategies foldMapPar :: (Foldable f, Monoid b) => Int -> (a -> b) -> f a -> b foldMapPar block f xs = F.fold ( map f (F.toList xs) `using` parBuffer block rseq ) In my application, the Foldable thingy is an unbalanced tree. - J.W. ( the above is a genuine question, while the following is a genuine announcement: don't miss the early registration deadline for "Haskell in Leipzig" https://hal2017.softbase.org/ )
participants (1)
-
waldmann