mono-traversable 0.6.0.3 → 0.6.0.4
raw patch · 2 files changed
+31/−2 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- mono-traversable.cabal +1/−1
- src/Data/Containers.hs +30/−1
mono-traversable.cabal view
@@ -1,5 +1,5 @@ name: mono-traversable-version: 0.6.0.3+version: 0.6.0.4 synopsis: Type classes for mapping, folding, and traversing monomorphic containers description: Monomorphic variants of the Functor, Foldable, and Traversable typeclasses. Contains even more experimental code for abstracting containers and sequences. homepage: https://github.com/snoyberg/mono-traversable
src/Data/Containers.hs view
@@ -10,8 +10,10 @@ import Data.Maybe (fromMaybe) #if MIN_VERSION_containers(0, 5, 0) import qualified Data.Map.Strict as Map+import qualified Data.IntMap.Strict as IntMap #else import qualified Data.Map as Map+import qualified Data.IntMap as IntMap #endif import qualified Data.HashMap.Strict as HashMap import Data.Hashable (Hashable)@@ -20,7 +22,6 @@ import Data.Monoid (Monoid (..)) import Data.Semigroup (Semigroup) import Data.MonoTraversable (MonoFunctor(..), MonoFoldable, MonoTraversable, Element)-import qualified Data.IntMap as IntMap import Data.Function (on) import qualified Data.List as List import qualified Data.IntSet as IntSet@@ -39,6 +40,10 @@ union :: set -> set -> set difference :: set -> set -> set intersection :: set -> set -> set++#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.Map.Strict".+#endif instance Ord k => SetContainer (Map.Map k v) where type ContainerKey (Map.Map k v) = k member = Map.member@@ -52,6 +57,9 @@ intersection = Map.intersection {-# INLINE intersection #-} +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.HashMap.Strict".+#endif instance (Eq key, Hashable key) => SetContainer (HashMap.HashMap key value) where type ContainerKey (HashMap.HashMap key value) = key member = HashMap.member@@ -65,6 +73,9 @@ intersection = HashMap.intersection {-# INLINE intersection #-} +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.IntMap.Strict".+#endif instance SetContainer (IntMap.IntMap value) where type ContainerKey (IntMap.IntMap value) = Int member = IntMap.member@@ -148,6 +159,9 @@ intersectionWithMap :: (value1 -> value2 -> value3) -> map value1 -> map value2 -> map value3 +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.Map.Strict".+#endif instance Ord key => PolyMap (Map.Map key) where differenceMap = Map.difference {-# INLINE differenceMap #-}@@ -157,6 +171,9 @@ intersectionWithMap = Map.intersectionWith {-# INLINE intersectionWithMap #-} +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.HashMap.Strict".+#endif instance (Eq key, Hashable key) => PolyMap (HashMap.HashMap key) where differenceMap = HashMap.difference {-# INLINE differenceMap #-}@@ -166,6 +183,9 @@ intersectionWithMap = HashMap.intersectionWith {-# INLINE intersectionWithMap #-} +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.IntMap.Strict".+#endif instance PolyMap IntMap.IntMap where differenceMap = IntMap.difference {-# INLINE differenceMap #-}@@ -363,6 +383,9 @@ where go (k, v) = [(f k, v)] +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.Map.Strict".+#endif instance Ord key => IsMap (Map.Map key value) where type MapValue (Map.Map key value) = value lookup = Map.lookup@@ -409,6 +432,9 @@ mapKeysWith = Map.mapKeysWith {-# INLINE mapKeysWith #-} +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.HashMap.Strict".+#endif instance (Eq key, Hashable key) => IsMap (HashMap.HashMap key value) where type MapValue (HashMap.HashMap key value) = value lookup = HashMap.lookup@@ -443,6 +469,9 @@ --mapWithKey = HashMap.mapWithKey --mapKeysWith = HashMap.mapKeysWith +#if MIN_VERSION_containers(0, 5, 0)+-- | This instance uses the functions from "Data.IntMap.Strict".+#endif instance IsMap (IntMap.IntMap value) where type MapValue (IntMap.IntMap value) = value lookup = IntMap.lookup