<div dir="ltr">Several coworkers and myself have independently reinvented this function several times:<div><br></div><div><div>    foldMapM :: (Foldable g, Monoid b, Monad m) => (a -> m b) -> g a -> m b</div><div>    foldMapM f xs = foldlM (\b a -> mappend b <$> (f a)) mempty xs</div><div><br></div><div>I would like to propose that this be added to Data.Foldable. We have the triplet foldr,foldl,foldMap in the Foldable typeclass itself, and Data.Foldable provides foldrM and foldlM. It would be nice to provide foldMapM for symmetry and because it seems to be useful in a variety of applications.</div><div><br></div>-- <br><div class="gmail_signature">-Andrew Thaddeus Martin</div>
</div></div>