enummapset 0.7.0.0 → 0.7.1.0
raw patch · 4 files changed
+33/−4 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.EnumMap.Lazy: alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a)
+ Data.EnumMap.Lazy: lookupMax :: Enum k => EnumMap k a -> Maybe (k, a)
+ Data.EnumMap.Lazy: lookupMin :: Enum k => EnumMap k a -> Maybe (k, a)
+ Data.EnumMap.Strict: alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a)
+ Data.EnumMap.Strict: lookupMax :: Enum k => EnumMap k a -> Maybe (k, a)
+ Data.EnumMap.Strict: lookupMin :: Enum k => EnumMap k a -> Maybe (k, a)
Files
- Data/EnumMap/Base.hs +15/−0
- Data/EnumMap/Lazy.hs +3/−0
- Data/EnumMap/Strict.hs +8/−1
- enummapset.cabal +7/−3
Data/EnumMap/Base.hs view
@@ -54,6 +54,7 @@ , updateWithKey , updateLookupWithKey , alter+ , alterF -- * Combine @@ -146,6 +147,8 @@ , isProperSubmapOfBy -- * Min\/Max+ , lookupMin+ , lookupMax , findMin , findMax , deleteMin@@ -327,6 +330,10 @@ alter f k = EnumMap . I.alter f (fromEnum k) . unWrap {-# INLINE alter #-} +alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a)+alterF f k = fmap EnumMap . I.alterF f (fromEnum k) . unWrap+{-# INLINE alterF #-}+ unions :: [EnumMap k a] -> EnumMap k a unions = EnumMap . I.unions . P.map unWrap {-# INLINE unions #-}@@ -437,6 +444,14 @@ deleteFindMin :: (Enum k) => EnumMap k a -> ((k, a), EnumMap k a) deleteFindMin = (first toEnum *** EnumMap) . I.deleteFindMin . unWrap {-# INLINE deleteFindMin #-}++lookupMin :: (Enum k) => EnumMap k a -> Maybe (k, a)+lookupMin = fmap (first toEnum) . I.lookupMin . unWrap+{-# INLINE lookupMin #-}++lookupMax :: (Enum k) => EnumMap k a -> Maybe (k, a)+lookupMax = fmap (first toEnum) . I.lookupMax . unWrap+{-# INLINE lookupMax #-} findMin :: (Enum k) => EnumMap k a -> (k, a) findMin = first toEnum . I.findMin . unWrap
Data/EnumMap/Lazy.hs view
@@ -54,6 +54,7 @@ , updateWithKey , updateLookupWithKey , alter+ , alterF -- * Combine @@ -146,6 +147,8 @@ , isProperSubmapOfBy -- * Min\/Max+ , lookupMin+ , lookupMax , findMin , findMax , deleteMin
Data/EnumMap/Strict.hs view
@@ -54,6 +54,7 @@ , updateWithKey , updateLookupWithKey , alter+ , alterF -- * Combine @@ -146,6 +147,8 @@ , isProperSubmapOfBy -- * Min\/Max+ , lookupMin+ , lookupMax , findMin , findMax , deleteMin@@ -172,7 +175,7 @@ import Data.EnumSet (EnumSet) import qualified Data.EnumSet as EnumSet -import Data.EnumMap.Base hiding (adjust, adjustWithKey, alter, differenceWith,+import Data.EnumMap.Base hiding (adjust, adjustWithKey, alter, alterF, differenceWith, differenceWithKey, findWithDefault, fromAscList, fromAscListWith, fromAscListWithKey, fromDistinctAscList, fromList, fromListWith,@@ -225,6 +228,10 @@ alter :: (Enum k) => (Maybe a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a alter f k = EnumMap . I.alter f (fromEnum k) . unWrap {-# INLINE alter #-}++alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a)+alterF f k = fmap EnumMap . I.alterF f (fromEnum k) . unWrap+{-# INLINE alterF #-} unionsWith :: (a -> a -> a) -> [EnumMap k a] -> EnumMap k a unionsWith f = EnumMap . I.unionsWith f . P.map unWrap
enummapset.cabal view
@@ -1,5 +1,5 @@ name: enummapset-version: 0.7.0.0+version: 0.7.1.0 synopsis: IntMap and IntSet with Enum keys/elements. description: This package contains simple wrappers around 'Data.IntMap' and 'Data.IntSet' with 'Enum' keys and elements respectively.@@ -46,9 +46,11 @@ base >= 4.6 && < 5, aeson, containers >= 0.5.11 && < 0.7,- semigroups >=0.1 && <1.0, deepseq >= 1.2 && < 1.5 + if impl(ghc < 8.0)+ build-depends: semigroups >=0.1 && <1.0+ if flag(debug) ghc-options: -Wall @@ -84,10 +86,12 @@ containers, deepseq, ghc-prim,- semigroups, HUnit, QuickCheck >= 2.7.1, test-framework, test-framework-hunit, test-framework-quickcheck2+ + if impl(ghc < 8.0)+ build-depends: semigroups