list-transformer 1.0.3 → 1.0.4
raw patch · 2 files changed
+13/−4 lines, 2 filesdep +semigroupsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: semigroups
API changes (from Hackage documentation)
- List.Transformer: instance (GHC.Base.Monad m, GHC.Base.Monoid a) => GHC.Base.Monoid (List.Transformer.ListT m a)
+ List.Transformer: instance (GHC.Base.Monad m, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (List.Transformer.ListT m a)
+ List.Transformer: instance (GHC.Base.Monad m, Data.Semigroup.Semigroup a, GHC.Base.Monoid a) => GHC.Base.Monoid (List.Transformer.ListT m a)
Files
- list-transformer.cabal +4/−2
- src/List/Transformer.hs +9/−2
list-transformer.cabal view
@@ -1,5 +1,5 @@ name: list-transformer-version: 1.0.3+version: 1.0.4 synopsis: List monad transformer description: This library provides a list monad transformer that enriches lists with effects and streams efficiently in@@ -24,7 +24,9 @@ default-language: Haskell2010 build-depends: base >= 4.5 && < 5 , mtl >= 2.1 && < 2.3- ghc-options: -Wall+ if !impl(ghc >= 8.0)+ build-depends: semigroups == 0.18.*+ ghc-options: -Wall -Wcompat test-suite doctest type: exitcode-stdio-1.0
src/List/Transformer.hs view
@@ -215,6 +215,7 @@ import Control.Monad.State.Class (MonadState(..)) import Control.Monad.Reader.Class (MonadReader(..)) import Control.Monad.Trans (MonadTrans(..), MonadIO(..))+import Data.Semigroup (Semigroup(..)) import Prelude hiding (drop, pred, take, takeWhile, zip) import qualified Data.Foldable@@ -302,9 +303,15 @@ fail _ = mzero #endif -instance (Monad m, Monoid a) => Monoid (ListT m a) where+instance (Monad m, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (ListT m a) where+ (<>) = liftA2 (<>)++instance (Monad m, Data.Semigroup.Semigroup a, Monoid a) => Monoid (ListT m a) where mempty = pure mempty- mappend = liftA2 mappend++#if !(MIN_VERSION_base(4,11,0))+ mappend = (<>)+#endif instance MonadIO m => MonadIO (ListT m) where liftIO m = lift (liftIO m)