diff options
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/base/Data/Semigroup.hs | 15 | ||||
-rw-r--r-- | libraries/base/changelog.md | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/libraries/base/Data/Semigroup.hs b/libraries/base/Data/Semigroup.hs index 88942ad7d0..2cb1bb75cf 100644 --- a/libraries/base/Data/Semigroup.hs +++ b/libraries/base/Data/Semigroup.hs @@ -83,6 +83,7 @@ import Data.Monoid (All (..), Any (..), Dual (..), Endo (..), import Data.Monoid (Alt (..)) import qualified Data.Monoid as Monoid import Data.Void +import GHC.Event (Event, Lifetime (..)) import GHC.Generics infixr 6 <> @@ -705,3 +706,17 @@ instance Semigroup (Proxy s) where _ <> _ = Proxy sconcat _ = Proxy stimes _ _ = Proxy + +-- | @since 4.10.0.0 +instance Semigroup a => Semigroup (IO a) where + (<>) = liftA2 (<>) + +-- | @since 4.10.0.0 +instance Semigroup Event where + (<>) = mappend + stimes = stimesMonoid + +-- | @since 4.10.0.0 +instance Semigroup Lifetime where + (<>) = mappend + stimes = stimesMonoid diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md index d2cc42159b..a01c878a53 100644 --- a/libraries/base/changelog.md +++ b/libraries/base/changelog.md @@ -23,6 +23,9 @@ `ReadS`, as well as related combinators, have been added to `Data.Functor.Classes` (#12358) + * Add `Semigroup` instance for `IO`, as well as for `Event` and `Lifetime` + from `GHC.Event` (#12464) + ## 4.9.0.0 *May 2016* * Bundled with GHC 8.0 |