mono-traversable-keys 0.2.0 → 0.3.0
raw patch · 3 files changed
+38/−23 lines, 3 filesdep ~hashabledep ~textPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hashable, text
API changes (from Hackage documentation)
- Data.MonoTraversable.Keys: instance Data.Foldable.Foldable f => Data.MonoTraversable.Keys.MonoFoldableWithKey (Control.Monad.Trans.List.ListT f a)
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoAdjustable Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoFoldableWithKey Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoIndexable Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoKeyed Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoLookup Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoTraversableWithKey Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoZip Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoZipWithKey Data.ByteString.Internal.ByteString
- Data.MonoTraversable.Keys: instance Data.Traversable.Traversable f => Data.MonoTraversable.Keys.MonoTraversableWithKey (Control.Monad.Trans.List.ListT f a)
- Data.MonoTraversable.Keys: instance GHC.Base.Applicative m => Data.MonoTraversable.Keys.MonoZip (Control.Monad.Trans.List.ListT m a)
- Data.MonoTraversable.Keys: instance GHC.Base.Applicative m => Data.MonoTraversable.Keys.MonoZipWithKey (Control.Monad.Trans.List.ListT m a)
- Data.MonoTraversable.Keys: instance GHC.Base.Functor m => Data.MonoTraversable.Keys.MonoAdjustable (Control.Monad.Trans.List.ListT m a)
- Data.MonoTraversable.Keys: instance GHC.Base.Functor m => Data.MonoTraversable.Keys.MonoKeyed (Control.Monad.Trans.List.ListT m a)
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoAdjustable Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoFoldableWithKey Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoIndexable Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoKeyed Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoLookup Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoTraversableWithKey Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoZip Data.ByteString.Internal.Type.ByteString
+ Data.MonoTraversable.Keys: instance Data.MonoTraversable.Keys.MonoZipWithKey Data.ByteString.Internal.Type.ByteString
Files
- CHANGELOG.md +10/−0
- mono-traversable-keys.cabal +14/−9
- src/Data/MonoTraversable/Keys.hs +14/−14
CHANGELOG.md view
@@ -1,9 +1,19 @@ # Changelog for mono-traversable-keys ++## _0.3.0_++ * Added support for GHC-9.4+ * Added support for GHC-9.6+ * Added back support for GHC-7.10.3 via `hashable` compatability+ * Removed `ListT` instances++ ## _0.2.0_ * Added support for GHC-9.2 * Conditional inclusion of many import to support backwards compatability+ ## _0.1.0_ Initial version
mono-traversable-keys.cabal view
@@ -1,7 +1,7 @@ cabal-version: 1.12 name: mono-traversable-keys-version: 0.2.0+version: 0.3.0 synopsis: Type-classes for interacting with monomorphic containers with a key category: Containers, Data, Data Structures build-type: Simple@@ -24,6 +24,8 @@ CHANGELOG.md tested-with:+ GHC == 9.6.1+ GHC == 9.4.5 GHC == 9.2.1 GHC == 9.0.1 GHC == 8.10.7@@ -33,7 +35,7 @@ GHC == 8.2.2 GHC == 8.0.2 GHC == 7.10.3- + source-repository head type: git location: https://github.com/recursion-ninja/mono-traversable-keys@@ -42,12 +44,11 @@ build-depends: base >= 4.5 && < 5.0,- bytestring >= 0.9 && < 1.0, + bytestring >= 0.9 && < 1.0, containers >= 0.3 && < 0.7,- hashable >= 1.2 && < 2.0, - keys >= 3 && < 4.0, - mono-traversable >= 1 && < 2.0, - text >= 0.11 && < 2.0,+ keys >= 3 && < 4.0,+ mono-traversable >= 1 && < 2.0,+ text >= 0.11 && < 3.0, transformers >= 0.2 && < 1.0, unordered-containers >= 0.2.4 && < 1.0, vector >= 0.10 && < 1.0,@@ -55,8 +56,12 @@ if impl(ghc < 8.0) build-depends:+ hashable >= 1.2 && < 1.3.3, semigroups >= 0.8.3.1 && < 1.0- + else+ build-depends:+ hashable >= 1.2 && < 2.0+ default-language: Haskell2010 @@ -94,6 +99,6 @@ ghc-options: -fwarn-deriving-defaults -fwarn-unused-packages- + hs-source-dirs: src
src/Data/MonoTraversable/Keys.hs view
@@ -46,14 +46,10 @@ import Control.Applicative import Control.Arrow (Arrow) --import Control.Comonad.Cofree (Cofree(..))-#if MIN_VERSION_base(4,13,0)-#else-import Control.Monad (Monad (..))-#endif --import Control.Monad.Free import Control.Monad.Trans.Cont (ContT) import Control.Monad.Trans.Identity (IdentityT)-import Control.Monad.Trans.List (ListT(..))+--import Control.Monad.Trans.List (ListT(..)) import Control.Monad.Trans.Maybe (MaybeT(..)) import Control.Monad.Trans.Reader (ReaderT) import Control.Monad.Trans.RWS (RWST(..))@@ -73,10 +69,6 @@ import qualified Data.HashMap.Strict as HM import Data.HashSet (HashSet) import qualified Data.HashSet as HS-#if MIN_VERSION_base(4,13,0)-#else-import Data.Int (Int)-#endif import Data.IntMap (IntMap) import qualified Data.IntMap as IM import Data.IntSet (IntSet)@@ -86,10 +78,6 @@ import Data.Map (Map) import qualified Data.Map.Strict as Map import Data.Maybe-#if MIN_VERSION_base(4,13,0)-#else-import Data.Monoid (Monoid(..))-#endif import Data.MonoTraversable (Element, MonoFoldable(..), MonoFunctor(..), MonoTraversable(..)) --import Data.Proxy import Data.Semigroup (@@ -150,7 +138,7 @@ type instance MonoKey IntSet = Int type instance MonoKey (IO a) = () --type instance MonoKey (K1 i c a) = Key (K1 i c)-type instance MonoKey (ListT m a) = Int+--type instance MonoKey (ListT m a) = Int type instance MonoKey (Map k v) = k type instance MonoKey (Maybe a) = () type instance MonoKey (MaybeT m a) = ()@@ -440,12 +428,14 @@ omapWithKey = omapWithUnitKey +{- -- | -- @since 0.1.0 instance Functor m => MonoKeyed (ListT m a) where {-# INLINE omapWithKey #-} omapWithKey f = ListT . fmap (omapWithKey f) . runListT+-} -- |@@ -762,12 +752,14 @@ ofoldlWithKey = monoFoldableWithIntegralKey +{- -- | -- @since 0.1.0 instance Foldable f => MonoFoldableWithKey (ListT f a) where {-# INLINE ofoldlWithKey #-} ofoldlWithKey = monoFoldableWithIntegralKey+-} -- |@@ -1059,11 +1051,13 @@ otraverseWithKey = traverseWithKey +{- -- | -- @since 0.1.0 instance Traversable f => MonoTraversableWithKey (ListT f a) where otraverseWithKey f = fmap ListT . traverse (traverseWithKey f) . runListT+-} -- |@@ -1906,12 +1900,14 @@ oadjust f = const $ fmap f +{- -- | -- @since 0.1.0 instance Functor m => MonoAdjustable (ListT m a) where {-# INLINE oadjust #-} oadjust f i = ListT . fmap (adjust f i) . runListT+-} -- |@@ -2270,12 +2266,14 @@ ozipWith = liftA2 +{- -- | -- @since 0.1.0 instance Applicative m => MonoZip (ListT m a) where {-# INLINE ozipWith #-} ozipWith f x y = ListT $ zipWith f <$> runListT x <*> runListT y+-} -- |@@ -2635,12 +2633,14 @@ ozipWithKey f = liftA2 (f ()) +{- -- | -- @since 0.1.0 instance Applicative m => MonoZipWithKey (ListT m a) where {-# INLINE ozipWithKey #-} ozipWithKey f x y = ListT $ zipWithKey f <$> runListT x <*> runListT y+-} -- |