fmlist 0.9.1 → 0.9.2
raw patch · 2 files changed
+14/−7 lines, 2 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Data.FMList: instance Data.Semigroup.Semigroup (Data.FMList.FMList a)
Files
- Data/FMList.hs +13/−6
- fmlist.cabal +1/−1
Data/FMList.hs view
@@ -88,10 +88,12 @@ , Show(..), String, (++) ) import Data.Maybe (Maybe(..), maybe, fromMaybe, isNothing)-import Data.Monoid+import Data.Monoid (Monoid, mempty, mappend, Dual(..), First(..), Last(..), Sum(..))+ #if MIN_VERSION_base(4,9,0)-import qualified Data.Semigroup as Semigroup+import Data.Semigroup (Semigroup((<>))) #endif+ import Data.Foldable (Foldable, foldMap, foldr, toList) import Data.Traversable (Traversable, traverse) import Control.Monad@@ -260,15 +262,15 @@ newtype WrapApp f m = WrapApp { unWrapApp :: f m }+ #if MIN_VERSION_base(4,9,0)-instance (Applicative f, Semigroup.Semigroup m) => Semigroup.Semigroup (WrapApp f m) where- WrapApp a <> WrapApp b = WrapApp $ (Semigroup.<>) <$> a <*> b+instance (Applicative f, Semigroup m) => Semigroup (WrapApp f m) where+ WrapApp a <> WrapApp b = WrapApp $ (<>) <$> a <*> b #endif+ instance (Applicative f, Monoid m) => Monoid (WrapApp f m) where mempty = WrapApp $ pure mempty-#if !(MIN_VERSION_base(4,11,0)) mappend (WrapApp a) (WrapApp b) = WrapApp $ mappend <$> a <*> b-#endif -- | Map each element of a structure to an action, evaluate these actions from left to right, -- and concat the monoid results.@@ -298,6 +300,11 @@ gs <*> xs = transform (\f g -> unFM xs (f . g)) gs as <* bs = transform (\f a -> unFM bs (const (f a))) as as *> bs = transform (\f -> const (unFM bs f)) as++#if MIN_VERSION_base(4,9,0)+instance Semigroup (FMList a) where+ (<>) = (><)+#endif instance Monoid (FMList a) where mempty = nil
fmlist.cabal view
@@ -1,5 +1,5 @@ name: fmlist-version: 0.9.1+version: 0.9.2 synopsis: FoldMap lists description: FoldMap lists are lists represented by their foldMap function.