monoidmap 0.1.1.0 → 0.1.1.1
raw patch · 3 files changed
+40/−27 lines, 3 filesdep ~monoidmap-internalPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: monoidmap-internal
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- components/monoidmap/Data/MonoidMap.hs +33/−25
- monoidmap.cabal +2/−2
CHANGELOG.md view
@@ -1,3 +1,8 @@+# 0.1.1.1++- Adapted to the revised module structure of `monoidmap-internal-0.4.0.0`.+ The API of `Data.MonoidMap` is unchanged.+ # 0.1.1.0 - Moved the definitions of the `MonoidMap` type, its instances, and all of
components/monoidmap/Data/MonoidMap.hs view
@@ -167,14 +167,10 @@ , traverse ) -import Data.MonoidMap.Internal- ( NonNull- , NonNullMap (..)- , applyNonNull- , applyNonNull2- , fromNonNullMap- , maybeNonNull- )+import Data.MonoidMap.Internal.NonNull+ ( NonNull )+import Data.MonoidMap.Internal.NonNullMap+ ( NonNullMap (..) ) import Control.Applicative ( Applicative (..) )@@ -250,7 +246,8 @@ import qualified Data.Monoid.GCD as C import qualified Data.Monoid.LCM as C import qualified Data.Monoid.Null as C-import qualified Data.MonoidMap.Internal as Internal+import qualified Data.MonoidMap.Internal.NonNull as NonNull+import qualified Data.MonoidMap.Internal.NonNullMap as NonNullMap import qualified Data.Semigroup.Cancellative as C import qualified Data.Set as Set import qualified Data.Traversable as Traversable@@ -582,6 +579,17 @@ -- Internal alias used when extra brevity is required. type MM = MonoidMap +-- Internal conversions between 'MonoidMap' and 'NonNullMap', which have the+-- same representation.++fromNonNullMap :: NonNullMap k v -> MonoidMap k v+fromNonNullMap (NonNullMap m) = MonoidMap m+{-# INLINE fromNonNullMap #-}++toNonNullMap :: MonoidMap k v -> NonNullMap k v+toNonNullMap (MonoidMap m) = NonNullMap m+{-# INLINE toNonNullMap #-}+ -------------------------------------------------------------------------------- -- Instances --------------------------------------------------------------------------------@@ -857,7 +865,7 @@ -- @since 0.0.0.0 -- fromMap :: MonoidNull v => Map k v -> MonoidMap k v-fromMap = MonoidMap . Internal.fromMap+fromMap = fromNonNullMap . NonNullMap.fromMap {-# INLINABLE fromMap #-} -- | \(O(n)\). Constructs a 'MonoidMap' from an ordinary 'Map', applying@@ -875,7 +883,7 @@ -- @since 0.0.4.0 -- fromMapWith :: MonoidNull v2 => (v1 -> v2) -> Map k v1 -> MonoidMap k v2-fromMapWith f = MonoidMap . Internal.fromMapWith f+fromMapWith f = fromNonNullMap . NonNullMap.fromMapWith f {-# INLINABLE fromMapWith #-} -- | \(O(n)\). Constructs a 'MonoidMap' from a 'Set' and a function from@@ -956,7 +964,7 @@ -- @since 0.0.0.0 -- toMap :: MonoidMap k v -> Map k v-toMap (MonoidMap m) = fromNonNullMap m+toMap = NonNullMap.toMap . toNonNullMap {-# INLINE toMap #-} --------------------------------------------------------------------------------@@ -992,7 +1000,7 @@ -- @since 0.0.0.0 -- set :: (Ord k, MonoidNull v) => k -> v -> MonoidMap k v -> MonoidMap k v-set k v (MonoidMap m) = MonoidMap $ case maybeNonNull v of+set k v (MonoidMap m) = MonoidMap $ case NonNull.nonNull v of Just v0 -> Map.insert k v0 m Nothing -> Map.delete k m @@ -1013,7 +1021,7 @@ -> MonoidMap k v -> MonoidMap k v adjust f k (MonoidMap m) = MonoidMap $- Map.alter (maybeNonNull . maybe (f mempty) (applyNonNull f)) k m+ Map.alter (NonNull.nonNull . maybe (f mempty) (NonNull.apply f)) k m -------------------------------------------------------------------------------- -- Nullification@@ -1263,7 +1271,7 @@ -- @since 0.0.0.0 -- filter :: (v -> Bool) -> MonoidMap k v -> MonoidMap k v-filter f (MonoidMap m) = MonoidMap $ Map.filter (applyNonNull f) m+filter f (MonoidMap m) = MonoidMap $ Map.filter (NonNull.apply f) m -- | \(O(n)\). Filters a map according to a predicate on /keys/. --@@ -1310,7 +1318,7 @@ -- filterWithKey :: (k -> v -> Bool) -> MonoidMap k v -> MonoidMap k v filterWithKey f (MonoidMap m) =- MonoidMap $ Map.filterWithKey (applyNonNull . f) m+ MonoidMap $ Map.filterWithKey (NonNull.apply . f) m -------------------------------------------------------------------------------- -- Partitioning@@ -1347,7 +1355,7 @@ -- partition :: (v -> Bool) -> MonoidMap k v -> (MonoidMap k v, MonoidMap k v) partition f (MonoidMap m) =- B.bimap MonoidMap MonoidMap $ Map.partition (applyNonNull f) m+ B.bimap MonoidMap MonoidMap $ Map.partition (NonNull.apply f) m -- | \(O(n)\). Partitions a map according to a predicate on /keys/. --@@ -1415,7 +1423,7 @@ partitionWithKey :: (k -> v -> Bool) -> MonoidMap k v -> (MonoidMap k v, MonoidMap k v) partitionWithKey f (MonoidMap m) =- B.bimap MonoidMap MonoidMap $ Map.partitionWithKey (applyNonNull . f) m+ B.bimap MonoidMap MonoidMap $ Map.partitionWithKey (NonNull.apply . f) m -------------------------------------------------------------------------------- -- Mapping@@ -1455,7 +1463,7 @@ -> MonoidMap k v1 -> MonoidMap k v2 map f (MonoidMap m) =- MonoidMap $ Map.mapMaybe (maybeNonNull . applyNonNull f) m+ MonoidMap $ Map.mapMaybe (NonNull.nonNull . NonNull.apply f) m -- | \(O(n \log n)\). Applies a function to all the keys of a 'MonoidMap' that -- are associated with non-'C.null' values.@@ -1527,7 +1535,7 @@ mapWithKey f (MonoidMap m) = MonoidMap . runIdentity $ Map.traverseMaybeWithKey- (\k v -> Identity $ maybeNonNull $ applyNonNull (f k) v) m+ (\k v -> Identity $ NonNull.nonNull $ NonNull.apply (f k) v) m -------------------------------------------------------------------------------- -- Folding@@ -1720,7 +1728,7 @@ traverseWithKey f (MonoidMap m) = MonoidMap <$> Map.traverseMaybeWithKey- (\k v -> maybeNonNull <$> applyNonNull (f k) v) m+ (\k v -> NonNull.nonNull <$> NonNull.apply (f k) v) m {-# INLINE traverseWithKey #-} -- | \(O(n)\). Threads an accumulating argument through the map in ascending@@ -3944,7 +3952,7 @@ -> WhenOneSideNull f k v1 v2 withNonNull f = Map.mapMaybeMissing- $ \_k v -> maybeNonNull $ applyNonNull f v+ $ \_k v -> NonNull.nonNull $ NonNull.apply f v {-# INLINE withNonNull #-} withNonNullA@@ -3953,7 +3961,7 @@ -> WhenOneSideNull f k v1 v2 withNonNullA f = Map.traverseMaybeMissing- $ \_k v -> maybeNonNull <$> applyNonNull f v+ $ \_k v -> NonNull.nonNull <$> NonNull.apply f v {-# INLINE withNonNullA #-} withBoth@@ -3962,7 +3970,7 @@ -> WhenBothNonNull f k v1 v2 v3 withBoth f = Map.zipWithMaybeMatched- $ \_k v1 v2 -> maybeNonNull $ applyNonNull2 f v1 v2+ $ \_k v1 v2 -> NonNull.nonNull $ NonNull.apply2 f v1 v2 {-# INLINE withBoth #-} withBothA@@ -3971,7 +3979,7 @@ -> WhenBothNonNull f k v1 v2 v3 withBothA f = Map.zipWithMaybeAMatched- $ \_k v1 v2 -> maybeNonNull <$> applyNonNull2 f v1 v2+ $ \_k v1 v2 -> NonNull.nonNull <$> NonNull.apply2 f v1 v2 {-# INLINE withBothA #-} --------------------------------------------------------------------------------
monoidmap.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: monoidmap-version: 0.1.1.0+version: 0.1.1.1 homepage: https://github.com/jonathanknowles/monoidmap bug-reports: https://github.com/jonathanknowles/monoidmap/issues license: Apache-2.0@@ -32,7 +32,7 @@ common dependency-monoid-subclasses build-depends:monoid-subclasses >= 1.2.3 && < 1.3 common dependency-monoidmap-internal- build-depends:monoidmap-internal >= 0.3.0.0 && < 0.4+ build-depends:monoidmap-internal >= 0.4.0.0 && < 0.5 common dependency-nothunks build-depends:nothunks >= 0.1.3 && < 0.4 common dependency-pretty-show