on master help sign in
Add mconcat
commit8f0ceb1783d6f368a52eb48b74812a804ede3cc0 authorHarendra Kumar <harendra@composewell.com> dateThu 27 Feb 2020, 20:32 (7 years ago) parentc05fe60
1 file changed+9−2
src/Streamly/Internal/Prelude.hs+9−2
src/Streamly/Internal/Prelude.hs+9−2
@@ -106,7 +106,7 @@ module Streamly.Internal.Prelude
106106 , length
107107 , sum
108108 , product
109− -- , mconcat
109+ , mconcat
110110
111111 -- -- ** To Summary (Maybe) (Full Folds)
112112 , maximumBy
@@ -540,7 +540,7 @@ import Prelude
540540 notElem, maximum, minimum, head, last, tail, length, null,
541541 reverse, iterate, init, and, or, lookup, foldr1, (!!),
542542 scanl, scanl1, replicate, concatMap, span, splitAt, break,
543− repeat, concat)
543+ repeat, concat, mconcat)
544544
545545import qualified Data.Heap as H
546546import qualified Data.Map.Strict as Map
@@ -1387,6 +1387,13 @@ sum = foldl' (+) 0
13871387product :: (Monad m, Num a) => SerialT m a -> m a
13881388product = foldl' (*) 1
13891389
1390+-- | Fold a stream of monoid elements by appending them.
1391+--
1392+-- /Internal/
1393+{-# INLINE mconcat #-}
1394+mconcat :: (Monad m, Monoid a) => SerialT m a -> m a
1395+mconcat = foldr mappend mempty
1396+
13901397-- |
13911398-- @
13921399-- minimum = 'minimumBy' compare