packages feed

deriving-trans 0.6.1.0 → 0.7.0.0

raw patch · 6 files changed

+34/−49 lines, 6 filesdep ~basedep ~exceptionsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, exceptions

API changes (from Hackage documentation)

- Control.Monad.Trans.Compose: instance (System.Random.Internal.FrozenGen f (t2 m), Control.Monad.Trans.Class.MonadTrans t1, Control.Monad.IO.Class.MonadIO (t2 m)) => System.Random.Internal.FrozenGen (Data.Functor.Const.Const f (Control.Monad.Trans.Compose.ComposeT t1 t2)) (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (System.Random.Internal.StatefulGen g (t2 m), Control.Monad.Trans.Class.MonadTrans t1, Control.Monad.IO.Class.MonadIO (t2 m)) => System.Random.Internal.StatefulGen (Data.Functor.Const.Const g (Control.Monad.Trans.Compose.ComposeT t1 t2)) (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (System.Random.Stateful.RandomGenM g r (t2 m), Control.Monad.Trans.Class.MonadTrans t1, Control.Monad.IO.Class.MonadIO (t2 m)) => System.Random.Stateful.RandomGenM (Data.Functor.Const.Const g (Control.Monad.Trans.Compose.ComposeT t1 t2)) r (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Elevator: instance (System.Random.Internal.FrozenGen f m, Control.Monad.Trans.Class.MonadTrans t, Control.Monad.IO.Class.MonadIO m) => System.Random.Internal.FrozenGen (Data.Functor.Const.Const f (Control.Monad.Trans.Elevator.Elevator t)) (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (System.Random.Internal.StatefulGen g m, Control.Monad.Trans.Class.MonadTrans t, Control.Monad.IO.Class.MonadIO m) => System.Random.Internal.StatefulGen (Data.Functor.Const.Const g (Control.Monad.Trans.Elevator.Elevator t)) (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (System.Random.Stateful.RandomGenM g r m, Control.Monad.Trans.Class.MonadTrans t, Control.Monad.IO.Class.MonadIO m) => System.Random.Stateful.RandomGenM (Data.Functor.Const.Const g (Control.Monad.Trans.Elevator.Elevator t)) r (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Compose: instance (System.Random.Internal.FrozenGen f (t2 m), Control.Monad.Trans.Class.MonadTrans t1) => System.Random.Internal.FrozenGen (Data.Functor.Const.Const f (Control.Monad.Trans.Compose.ComposeT t1 t2)) (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (System.Random.Internal.StatefulGen g (t2 m), Control.Monad.Trans.Class.MonadTrans t1) => System.Random.Internal.StatefulGen (Data.Functor.Const.Const g (Control.Monad.Trans.Compose.ComposeT t1 t2)) (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (System.Random.Stateful.RandomGenM g r (t2 m), Control.Monad.Trans.Class.MonadTrans t1) => System.Random.Stateful.RandomGenM (Data.Functor.Const.Const g (Control.Monad.Trans.Compose.ComposeT t1 t2)) r (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Elevator: instance (System.Random.Internal.FrozenGen f m, Control.Monad.Trans.Class.MonadTrans t) => System.Random.Internal.FrozenGen (Data.Functor.Const.Const f (Control.Monad.Trans.Elevator.Elevator t)) (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (System.Random.Internal.StatefulGen g m, Control.Monad.Trans.Class.MonadTrans t) => System.Random.Internal.StatefulGen (Data.Functor.Const.Const g (Control.Monad.Trans.Elevator.Elevator t)) (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (System.Random.Stateful.RandomGenM g r m, Control.Monad.Trans.Class.MonadTrans t) => System.Random.Stateful.RandomGenM (Data.Functor.Const.Const g (Control.Monad.Trans.Elevator.Elevator t)) r (Control.Monad.Trans.Elevator.Elevator t m)

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for deriving-trans +## 0.7.0.0 *31 Jan 2023*++* Update required version bounds for `exceptions` to `>= 0.10.5`.+* Remove redundant `MonadIO` constraints from instances `StatefulGen`, `FrozenGen` and `RandomGenM`.+* Drop support for `GHC < 9.2`.+ ## 0.6.1.0 *27 Jan 2023*  * Add optional dependency `random >= 1.2`.
deriving-trans.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: deriving-trans-version: 0.6.1.0+version: 0.7.0.0 synopsis: Derive instances for monad transformer stacks description:   Implementing instances for monad transformer stacks can be tedious.@@ -63,14 +63,14 @@     Control.Monad.Trans.Compose.Transparent     Control.Monad.Trans.Elevator   build-depends:-    , base < 5+    , base >= 4.16.1.0 && < 5     , monad-control     , monad-control-identity     , transformers >= 0.6     , transformers-base   if flag(exceptions)     build-depends:-      , exceptions >= 0.4+      , exceptions >= 0.10.5   if flag(mtl)     other-modules:       Control.Monad.Accum.OrphanInstances@@ -90,34 +90,20 @@     build-depends:       , unliftio-core   hs-source-dirs: src-  default-language: Haskell2010+  default-language: GHC2021   default-extensions:-    BangPatterns-    ConstraintKinds     DataKinds-    DeriveFoldable-    DeriveFunctor-    DeriveGeneric-    DeriveTraversable     DerivingStrategies     DerivingVia-    EmptyDataDeriving-    FlexibleContexts-    FlexibleInstances     FunctionalDependencies-    GeneralizedNewtypeDeriving-    ImportQualifiedPost-    MultiParamTypeClasses-    NamedFieldPuns     OverloadedStrings-    RankNTypes-    StandaloneDeriving-    StandaloneKindSignatures-    TupleSections-    TypeApplications     TypeFamilies-    TypeOperators+    UnboxedTuples   ghc-options:-    -Wall-    -Wunused-packages-    -Wredundant-constraints+    -Weverything+    -Wno-implicit-prelude+    -Wno-missing-kind-signatures+    -Wno-missing-export-lists+    -Wno-missing-import-lists+    -Wno-missing-safe-haskell-mode+    -Wno-unsafe
src/Control/Monad/Accum/OrphanInstances.hs view
@@ -3,7 +3,7 @@ module Control.Monad.Accum.OrphanInstances where  import Control.Monad.Accum-import qualified Control.Monad.Trans.Accum as T+import Control.Monad.Trans.Accum qualified as T  instance (Monoid w, Monad m) => MonadAccum w (T.AccumT w m) where   look = T.look
src/Control/Monad/Select/OrphanInstances.hs view
@@ -4,7 +4,7 @@  import Control.Monad.Select import Control.Monad.Trans.Control.Identity-import qualified Control.Monad.Trans.Select as T+import Control.Monad.Trans.Select qualified as T import Data.Functor.Identity  instance MonadBaseControlIdentity Identity m => MonadSelect r (T.SelectT r m) where
src/Control/Monad/Trans/Compose.hs view
@@ -1,6 +1,5 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE QuantifiedConstraints #-}-{-# LANGUAGE UnboxedTuples #-} {-# LANGUAGE UndecidableInstances #-}  module Control.Monad.Trans.Compose where@@ -82,10 +81,10 @@ -- [@t2 :: ('Type' -> 'Type') -> 'Type' -> 'Type'@] inner monad transformer -- [@m :: 'Type' -> 'Type'@] monad -- [@a :: 'Type'@] value-type ComposeT :: ((Type -> Type) -> Type -> Type) -- ^ @t1@-              -> ((Type -> Type) -> Type -> Type) -- ^ @t2@-              -> (Type -> Type) -- ^ @m@-              -> Type -- ^ @a@+type ComposeT :: ((Type -> Type) -> Type -> Type) -- @t1@+              -> ((Type -> Type) -> Type -> Type) -- @t2@+              -> (Type -> Type) -- @m@+              -> Type -- @a@               -> Type newtype ComposeT t1 t2 m a = ComposeT { deComposeT :: t1 (t2 m) a }   deriving newtype (Applicative, Functor, Monad)@@ -185,7 +184,7 @@     ) => Mtl.MonadCont (ComposeT t1 t2 m)  -- | Set by 'Mtl.T.ContT'.-deriving via Mtl.T.ContT r (t2 (m :: Type -> Type))+deriving via Mtl.T.ContT (r :: Type) (t2 (m :: Type -> Type))   instance Mtl.MonadCont (ComposeT (Mtl.T.ContT r) t2 m)  -- | /OVERLAPPABLE/.@@ -383,10 +382,9 @@ #endif  #if defined(VERSION_random)--- TODO: `MonadIO (t2 m)` should not be required for this instance -- | /OVERLAPPABLE/. -- Elevated to @(t2 m)@.-instance {-# OVERLAPPABLE #-} (Random.StatefulGen g (t2 m), MonadTrans t1, MonadIO (t2 m)) => Random.StatefulGen (Random.Const g (ComposeT t1 t2)) (ComposeT t1 t2 m) where+instance {-# OVERLAPPABLE #-} (Random.StatefulGen g (t2 m), MonadTrans t1) => Random.StatefulGen (Random.Const g (ComposeT t1 t2)) (ComposeT t1 t2 m) where   uniformWord32R word32 = ComposeT . lift . Random.uniformWord32R word32 . Random.getConst   uniformWord64R word64 = ComposeT . lift . Random.uniformWord64R word64 . Random.getConst   uniformWord8 = ComposeT . lift . Random.uniformWord8 . Random.getConst@@ -395,18 +393,16 @@   uniformWord64 = ComposeT . lift . Random.uniformWord64 . Random.getConst   uniformShortByteString n = ComposeT . lift . Random.uniformShortByteString n . Random.getConst --- TODO: `MonadIO (t2 m)` should not be required for this instance -- | /OVERLAPPABLE/. -- Elevated to @(t2 m)@.-instance {-# OVERLAPPABLE #-} (Random.FrozenGen f (t2 m), MonadTrans t1, MonadIO (t2 m)) => Random.FrozenGen (Random.Const f (ComposeT t1 t2)) (ComposeT t1 t2 m) where+instance {-# OVERLAPPABLE #-} (Random.FrozenGen f (t2 m), MonadTrans t1) => Random.FrozenGen (Random.Const f (ComposeT t1 t2)) (ComposeT t1 t2 m) where   type MutableGen (Random.Const f (ComposeT t1 t2)) (ComposeT t1 t2 m) = Random.Const (Random.MutableGen f (t2 m)) (ComposeT t1 t2)   freezeGen = ComposeT . lift . fmap Random.Const . Random.freezeGen . Random.getConst   thawGen = ComposeT . lift . fmap Random.Const . Random.thawGen . Random.getConst --- TODO: `MonadIO (t2 m)` should not be required for this instance -- | /OVERLAPPABLE/. -- Elevated to @(t2 m)@.-instance {-# OVERLAPPABLE #-} (Random.RandomGenM g r (t2 m), MonadTrans t1, MonadIO (t2 m)) => Random.RandomGenM (Random.Const g (ComposeT t1 t2)) r (ComposeT t1 t2 m) where+instance {-# OVERLAPPABLE #-} (Random.RandomGenM g r (t2 m), MonadTrans t1) => Random.RandomGenM (Random.Const g (ComposeT t1 t2)) r (ComposeT t1 t2 m) where   applyRandomGenM f = ComposeT . lift . Random.applyRandomGenM f . Random.getConst #endif 
src/Control/Monad/Trans/Elevator.hs view
@@ -66,9 +66,9 @@ -- [@t :: ('Type' -> 'Type') -> 'Type' -> 'Type'@] monad transformer -- [@m :: 'Type' -> 'Type'@] monad -- [@a :: 'Type'@] value-type Elevator :: ((Type -> Type) -> Type -> Type) -- ^ @t@-              -> (Type -> Type) -- ^ @m@-              -> Type -- ^ @a@+type Elevator :: ((Type -> Type) -> Type -> Type) -- @t@+              -> (Type -> Type) -- @m@+              -> Type -- @a@               -> Type newtype Elevator t m a = Ascend { descend :: t m a }   deriving newtype (Applicative, Functor, Monad)@@ -155,8 +155,7 @@ #endif  #if defined(VERSION_random)--- TODO: `MonadIO m` should be redundant.-instance (Random.StatefulGen g m, MonadTrans t, MonadIO m) => Random.StatefulGen (Random.Const g (Elevator t)) (Elevator t m) where+instance (Random.StatefulGen g m, MonadTrans t) => Random.StatefulGen (Random.Const g (Elevator t)) (Elevator t m) where   uniformWord32R word32 = lift . Random.uniformWord32R word32 . Random.getConst   uniformWord64R word64 = lift . Random.uniformWord64R word64 . Random.getConst   uniformWord8 = lift . Random.uniformWord8 . Random.getConst@@ -165,14 +164,12 @@   uniformWord64 = lift . Random.uniformWord64 . Random.getConst   uniformShortByteString n = lift . Random.uniformShortByteString n . Random.getConst --- TODO: `MonadIO m` should be redundant.-instance (Random.FrozenGen f m, MonadTrans t, MonadIO m) => Random.FrozenGen (Random.Const f (Elevator t)) (Elevator t m) where+instance (Random.FrozenGen f m, MonadTrans t) => Random.FrozenGen (Random.Const f (Elevator t)) (Elevator t m) where   type MutableGen (Const f (Elevator t)) (Elevator t m) = Const (Random.MutableGen f m) (Elevator t)   freezeGen = lift . fmap Random.Const . Random.freezeGen . Random.getConst   thawGen = lift . fmap Random.Const . Random.thawGen . Random.getConst --- TODO: `MonadIO m` should be redundant.-instance (Random.RandomGenM g r m, MonadTrans t, MonadIO m) => Random.RandomGenM (Random.Const g (Elevator t)) r (Elevator t m) where+instance (Random.RandomGenM g r m, MonadTrans t) => Random.RandomGenM (Random.Const g (Elevator t)) r (Elevator t m) where   applyRandomGenM f = lift . Random.applyRandomGenM f . Random.getConst #endif