@@ -215,6 +215,9 @@ import Control.Monad.IO.Class (MonadIO(..))
215import Data.Functor.Identity (Identity(..))
215import Data.Functor.Identity (Identity(..))
216import Data.Int (Int64)
216import Data.Int (Int64)
217import Data.Map.Strict (Map)
217import Data.Map.Strict (Map)
218+#if __GLASGOW_HASKELL__ < 804
219+import Data.Semigroup (Semigroup((<>)))
219import Prelude
222import Prelude
220 hiding (filter, drop, dropWhile, take, takeWhile, zipWith,
223 hiding (filter, drop, dropWhile, take, takeWhile, zipWith,
@@ -629,7 +632,11 @@ sconcat i = Fold (\x a -> return $ x <> a) (return i) return
630-- @since 0.7.0
633-- @since 0.7.0
631{-# INLINE mconcat #-}
634{-# INLINE mconcat #-}
632−mconcat :: (Monad m, Monoid a) => Fold m a a
635+mconcat :: (Monad m, Monoid a
636+#if __GLASGOW_HASKELL__ < 804
633mconcat = sconcat mempty
640mconcat = sconcat mempty
@@ -642,7 +649,11 @@ mconcat = sconcat mempty
643-- @since 0.7.0
650-- @since 0.7.0
644{-# INLINABLE foldMap #-}
651{-# INLINABLE foldMap #-}
645−foldMap :: (Monad m, Monoid b) => (a -> b) -> Fold m a b
652+foldMap :: (Monad m, Monoid b
653+#if __GLASGOW_HASKELL__ < 804
656+ ) => (a -> b) -> Fold m a b
646foldMap f = lmap f mconcat
657foldMap f = lmap f mconcat