packages feed

deriving-trans 0.9.1.0 → 0.10.0.0

raw patch · 6 files changed

+17/−3 lines, 6 filesdep ~randomPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: random

API changes (from Hackage documentation)

- 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.Compose.Stack: type data Stack
- 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)
+ Control.Monad.Trans.Compose.Stack: data Stack
- Control.Monad.Trans.Compose: ComposeT :: t1 (t2 m) a -> ComposeT t1 t2 m a
+ Control.Monad.Trans.Compose: ComposeT :: t1 (t2 m) a -> ComposeT (t1 :: (Type -> Type) -> Type -> Type) (t2 :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a
- Control.Monad.Trans.Compose: [deComposeT] :: ComposeT t1 t2 m a -> t1 (t2 m) a
+ Control.Monad.Trans.Compose: [deComposeT] :: ComposeT (t1 :: (Type -> Type) -> Type -> Type) (t2 :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a -> t1 (t2 m) a
- Control.Monad.Trans.Compose: newtype ComposeT t1 t2 m a
+ Control.Monad.Trans.Compose: newtype ComposeT (t1 :: Type -> Type -> Type -> Type) (t2 :: Type -> Type -> Type -> Type) (m :: Type -> Type) a
- Control.Monad.Trans.Compose: runComposeT :: (forall a. t1 (t2 m) a -> t2 m (StT t1 a)) -> (forall a. t2 m a -> m (StT t2 a)) -> forall a. ComposeT t1 t2 m a -> m (StT t2 (StT t1 a))
+ Control.Monad.Trans.Compose: runComposeT :: (forall a. () => t1 (t2 m) a -> t2 m (StT t1 a)) -> (forall a. () => t2 m a -> m (StT t2 a)) -> forall a. () => ComposeT t1 t2 m a -> m (StT t2 (StT t1 a))
- Control.Monad.Trans.Compose.Infix: (./>) :: (forall a. t2 m a -> m (StT t2 a)) -> (forall a. t1 (t2 m) a -> t2 m (StT t1 a)) -> forall a. (t2 .|> t1) m a -> m (StT t2 (StT t1 a))
+ Control.Monad.Trans.Compose.Infix: (./>) :: (forall a. () => t2 m a -> m (StT t2 a)) -> (forall a. () => t1 (t2 m) a -> t2 m (StT t1 a)) -> forall a. () => (t2 .|> t1) m a -> m (StT t2 (StT t1 a))
- Control.Monad.Trans.Compose.Infix: type (.|>) t2 t1 = ComposeT t1 t2
+ Control.Monad.Trans.Compose.Infix: type (t2 :: Type -> Type -> Type -> Type) .|> (t1 :: Type -> Type -> Type -> Type) = ComposeT t1 t2
- Control.Monad.Trans.Compose.Stack: [:..>] :: RunStackT ts m a -> (t (StackT ts m) a -> StackT ts m a) -> RunStackT (ts :.|> t) m a
+ Control.Monad.Trans.Compose.Stack: [:..>] :: forall (ts :: Stack) (b :: Type -> Type) c (t :: (Type -> Type) -> Type -> Type). RunStackT ts b c -> (t (StackT ts b) c -> StackT ts b c) -> RunStackT (ts ':.|> t) b c
- Control.Monad.Trans.Compose.Stack: [RunNilT] :: RunStackT NilT m a
+ Control.Monad.Trans.Compose.Stack: [RunNilT] :: forall (b :: Type -> Type) c. RunStackT 'NilT b c
- Control.Monad.Trans.Compose.Stack: data RunStackT :: Stack -> (Type -> Type) -> Type -> Type
+ Control.Monad.Trans.Compose.Stack: data RunStackT (a :: Stack) (b :: Type -> Type) c
- Control.Monad.Trans.Compose.Stack: runStackT :: RunStackT ts m a -> StackT ts m a -> m a
+ Control.Monad.Trans.Compose.Stack: runStackT :: forall (ts :: Stack) m a. RunStackT ts m a -> StackT ts m a -> m a
- Control.Monad.Trans.Compose.Stack: type family StackT (ts :: Stack) = (t :: (Type -> Type) -> Type -> Type) | t -> ts
+ Control.Monad.Trans.Compose.Stack: type family StackT (ts :: Stack) = (t :: Type -> Type -> Type -> Type) | t -> ts
- Control.Monad.Trans.Compose.Transparent: MkNoT :: IdentityT m a -> NoT m a
+ Control.Monad.Trans.Compose.Transparent: MkNoT :: IdentityT m a -> NoT (m :: Type -> Type) a
- Control.Monad.Trans.Compose.Transparent: [unNoT] :: NoT m a -> IdentityT m a
+ Control.Monad.Trans.Compose.Transparent: [unNoT] :: NoT (m :: Type -> Type) a -> IdentityT m a
- Control.Monad.Trans.Compose.Transparent: newtype NoT m a
+ Control.Monad.Trans.Compose.Transparent: newtype NoT (m :: Type -> Type) a
- Control.Monad.Trans.Elevator: Ascend :: t m a -> Elevator t m a
+ Control.Monad.Trans.Elevator: Ascend :: t m a -> Elevator (t :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a
- Control.Monad.Trans.Elevator: [descend] :: Elevator t m a -> t m a
+ Control.Monad.Trans.Elevator: [descend] :: Elevator (t :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a -> t m a
- Control.Monad.Trans.Elevator: newtype Elevator t m a
+ Control.Monad.Trans.Elevator: newtype Elevator (t :: Type -> Type -> Type -> Type) (m :: Type -> Type) a

Files

CHANGELOG.md view
@@ -1,5 +1,12 @@ # Revision history for deriving-trans +## 0.10.0.0 *02 Apr 2026*++* Add support for `GHC 9.12`.+* Add explicit role annotations+* Disable the `random` flag by default.+* Drop support for the random version `>= 1.13`.+ ## 0.9.1.0 *12 Jul 2023*  * Support new optional dependency monad-logger `>= 0.3.38`.
deriving-trans.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: deriving-trans-version: 0.9.1.0+version: 0.10.0.0 synopsis: Derive instances for monad transformer stacks description:   Implementing instances for monad transformer stacks can be tedious.@@ -51,7 +51,7 @@     Implement instances for `PrimMonad`.  flag random-  default: True+  default: False   description:     Implement instances for random's type classes. @@ -98,7 +98,7 @@       , primitive >= 0.7.1.0   if flag(random)     build-depends:-      , random >= 1.2+      , random >= 1.2 && < 1.3   if flag(resourcet)     build-depends:       , resourcet >= 1.2@@ -115,6 +115,7 @@     OverloadedStrings     TypeFamilies     UnboxedTuples+    RoleAnnotations   ghc-options:     -Weverything     -Wno-all-missed-specialisations
src/Control/Monad/Trans/Compose.hs view
@@ -102,6 +102,7 @@               -> (Type -> Type) -- @m@               -> Type -- @a@               -> Type+type role ComposeT representational nominal nominal nominal newtype ComposeT t1 t2 m a = ComposeT { deComposeT :: t1 (t2 m) a }   deriving newtype (Applicative, Functor, Monad) 
src/Control/Monad/Trans/Compose/Stack.hs view
@@ -53,6 +53,7 @@ -- This is basically a heterogeneous list of monad transformer runners. -- -- 'RunStackT' can only be used for monad transformer stacks without monadic state t'Control.Monad.Trans.Control.StT'.+type role RunStackT nominal nominal nominal data RunStackT :: Stack -> (Type -> Type) -> Type -> Type where   -- | run an empty monad transformer stack   RunNilT :: RunStackT NilT m a
src/Control/Monad/Trans/Compose/Transparent.hs view
@@ -7,6 +7,7 @@ import Control.Monad.Trans.Control.Identity import Control.Monad.Trans.Elevator import Control.Monad.Trans.Identity+import Data.Kind  -- | A monad transformer, that passes through all instances via 'Elevator'. --@@ -20,6 +21,8 @@ -- | A newtype wrapper around 'IdentityT'. -- -- This is used in 'TransparentT' to encourage the use of 'runTransparentT'.+type NoT :: (Type -> Type) -> Type -> Type+type role NoT representational nominal newtype NoT m a = MkNoT {unNoT :: IdentityT m a}   deriving newtype (Functor, Applicative, Monad)   deriving newtype (MonadTrans, MonadTransControl, MonadTransControlIdentity)
src/Control/Monad/Trans/Elevator.hs view
@@ -78,6 +78,7 @@               -> (Type -> Type) -- @m@               -> Type -- @a@               -> Type+type role Elevator representational nominal nominal newtype Elevator t m a = Ascend { descend :: t m a }   deriving newtype (Applicative, Functor, Monad)   deriving newtype (MonadTrans, MonadTransControl, MonadTransControlIdentity)