deriving-trans 0.10.0.1 → 0.11.0.0
raw patch · 5 files changed
+7/−76 lines, 5 filesdep −randomdep ~mtlPVP ok
version bump matches the API change (PVP)
Dependencies removed: random
Dependency ranges changed: mtl
API changes (from Hackage documentation)
- Control.Monad.Trans.Compose: instance (Control.Monad.Fail.MonadFail (t2 m), Control.Monad.Trans.Class.MonadTrans t1) => Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.Fix.MonadFix (t2 m), Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t1) => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.IO.Class.MonadIO (t2 m), Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.LoggingT t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.IO.Class.MonadIO (t2 m), Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.NoLoggingT t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.IO.Class.MonadIO (t2 m), Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Resource.Internal.ResourceT t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Compose.ComposeT t1 t2)) => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.Logger.MonadLoggerIO (t2 m), Control.Monad.Trans.Class.MonadTrans t1, Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.Trans.Resource.Internal.MonadResource (t2 m), Control.Monad.Trans.Class.MonadTrans t1, Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (Control.Monad.Zip.MonadZip (t2 m), Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t1) => Control.Monad.Zip.MonadZip (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Alternative (t2 m), GHC.Base.Monad (t2 m), Control.Monad.Trans.Control.MonadTransControl t1) => GHC.Base.Alternative (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.MonadPlus (t2 m), Control.Monad.Trans.Control.MonadTransControl t1) => GHC.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid e, GHC.Base.Monad (t2 m)) => GHC.Base.Alternative (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid e, GHC.Base.Monad (t2 m)) => GHC.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Accum.MonadAccum w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Accum.AccumT w) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.CPS.WriterT w) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.Lazy.WriterT w) t2 m)
- Control.Monad.Trans.Compose: instance (GHC.Base.Monoid w, GHC.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.Strict.WriterT w) t2 m)
- Control.Monad.Trans.Compose: instance Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
- Control.Monad.Trans.Compose: instance Control.Monad.IO.Class.MonadIO (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.LoggingT t2 m)
- Control.Monad.Trans.Compose: instance Control.Monad.Trans.Control.Identity.MonadBaseControlIdentity Data.Functor.Identity.Identity (t2 m) => Control.Monad.Select.MonadSelect r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Select.SelectT r) t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Applicative (t1 (t2 m)) => GHC.Base.Applicative (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Functor (t1 (t2 m)) => GHC.Base.Functor (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t1 (t2 m)) => GHC.Base.Monad (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Catch.MonadMask (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.NoLoggingT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.WriterLoggingT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Logic.Class.MonadLogic (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Reader.ReaderT r) t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.State.Lazy.StateT s) t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.State.Strict.StateT s) t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => GHC.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => GHC.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => GHC.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.Monad (t2 m) => GHC.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
- Control.Monad.Trans.Compose: instance GHC.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
- Control.Monad.Trans.Compose.Transparent: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.Compose.Transparent.NoT m)
- Control.Monad.Trans.Compose.Transparent: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Compose.Transparent.NoT m)
- Control.Monad.Trans.Compose.Transparent: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Compose.Transparent.NoT m)
- Control.Monad.Trans.Elevator: instance (Control.Monad.Fail.MonadFail m, Control.Monad.Trans.Class.MonadTrans t) => Control.Monad.Fail.MonadFail (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (Control.Monad.Fix.MonadFix m, Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t) => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t) => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (Control.Monad.Zip.MonadZip m, Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t) => Control.Monad.Zip.MonadZip (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (GHC.Base.Alternative m, GHC.Base.Monad m, Control.Monad.Trans.Control.MonadTransControl t) => GHC.Base.Alternative (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance (GHC.Base.MonadPlus m, Control.Monad.Trans.Control.MonadTransControl t) => GHC.Base.MonadPlus (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance GHC.Base.Applicative (t m) => GHC.Base.Applicative (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance GHC.Base.Functor (t m) => GHC.Base.Functor (Control.Monad.Trans.Elevator.Elevator t m)
- Control.Monad.Trans.Elevator: instance GHC.Base.Monad (t m) => GHC.Base.Monad (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Compose: instance (Control.Monad.Logger.MonadLoggerIO (t2 m), Control.Monad.Trans.Class.MonadTrans t1, GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (Control.Monad.Trans.Resource.Internal.MonadResource (t2 m), Control.Monad.Trans.Class.MonadTrans t1, GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Alternative (t2 m), GHC.Internal.Base.Monad (t2 m), Control.Monad.Trans.Control.MonadTransControl t1) => GHC.Internal.Base.Alternative (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.MonadPlus (t2 m), Control.Monad.Trans.Control.MonadTransControl t1) => GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid e, GHC.Internal.Base.Monad (t2 m)) => GHC.Internal.Base.Alternative (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid e, GHC.Internal.Base.Monad (t2 m)) => GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Accum.MonadAccum w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Accum.AccumT w) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.CPS.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Lazy.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.RWS.Strict.RWST r w s) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.CPS.WriterT w) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.Lazy.WriterT w) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Base.Monoid w, GHC.Internal.Base.Monad (t2 m)) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Writer.Strict.WriterT w) t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.Fail.MonadFail (t2 m), Control.Monad.Trans.Class.MonadTrans t1) => GHC.Internal.Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.Fix.MonadFix (t2 m), Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t1) => GHC.Internal.Control.Monad.Fix.MonadFix (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.IO.Class.MonadIO (t2 m), GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.LoggingT t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.IO.Class.MonadIO (t2 m), GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Logger.MonadLoggerIO (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.NoLoggingT t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.IO.Class.MonadIO (t2 m), GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t2) => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Resource.Internal.ResourceT t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Compose.ComposeT t1 t2)) => GHC.Internal.Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance (GHC.Internal.Control.Monad.Zip.MonadZip (t2 m), Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t1) => GHC.Internal.Control.Monad.Zip.MonadZip (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance Control.Monad.Trans.Control.Identity.MonadBaseControlIdentity GHC.Internal.Data.Functor.Identity.Identity (t2 m) => Control.Monad.Select.MonadSelect r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Select.SelectT r) t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Applicative (t1 (t2 m)) => GHC.Internal.Base.Applicative (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Functor (t1 (t2 m)) => GHC.Internal.Base.Functor (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t1 (t2 m)) => GHC.Internal.Base.Monad (Control.Monad.Trans.Compose.ComposeT t1 t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Catch.MonadMask (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Error.Class.MonadError e (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Except.ExceptT e) t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.NoLoggingT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.WriterLoggingT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Logic.Class.MonadLogic (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.Reader.ReaderT r) t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.State.Lazy.StateT s) t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.Compose.ComposeT (Control.Monad.Trans.State.Strict.StateT s) t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Base.Alternative (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Catch.Pure.CatchT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.Monad (t2 m) => GHC.Internal.Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Trans.Maybe.MaybeT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Control.Monad.Fail.MonadFail (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logic.LogicT t2 m)
+ Control.Monad.Trans.Compose: instance GHC.Internal.Control.Monad.IO.Class.MonadIO (t2 m) => Control.Monad.Logger.MonadLogger (Control.Monad.Trans.Compose.ComposeT Control.Monad.Logger.LoggingT t2 m)
+ Control.Monad.Trans.Compose.Transparent: instance GHC.Internal.Base.Applicative m => GHC.Internal.Base.Applicative (Control.Monad.Trans.Compose.Transparent.NoT m)
+ Control.Monad.Trans.Compose.Transparent: instance GHC.Internal.Base.Functor m => GHC.Internal.Base.Functor (Control.Monad.Trans.Compose.Transparent.NoT m)
+ Control.Monad.Trans.Compose.Transparent: instance GHC.Internal.Base.Monad m => GHC.Internal.Base.Monad (Control.Monad.Trans.Compose.Transparent.NoT m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Base.Alternative m, GHC.Internal.Base.Monad m, Control.Monad.Trans.Control.MonadTransControl t) => GHC.Internal.Base.Alternative (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Base.MonadPlus m, Control.Monad.Trans.Control.MonadTransControl t) => GHC.Internal.Base.MonadPlus (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Control.Monad.Fail.MonadFail m, Control.Monad.Trans.Class.MonadTrans t) => GHC.Internal.Control.Monad.Fail.MonadFail (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Control.Monad.Fix.MonadFix m, Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t) => GHC.Internal.Control.Monad.Fix.MonadFix (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Class.MonadTrans t) => GHC.Internal.Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance (GHC.Internal.Control.Monad.Zip.MonadZip m, Control.Monad.Trans.Control.Identity.MonadTransControlIdentity t) => GHC.Internal.Control.Monad.Zip.MonadZip (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance GHC.Internal.Base.Applicative (t m) => GHC.Internal.Base.Applicative (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance GHC.Internal.Base.Functor (t m) => GHC.Internal.Base.Functor (Control.Monad.Trans.Elevator.Elevator t m)
+ Control.Monad.Trans.Elevator: instance GHC.Internal.Base.Monad (t m) => GHC.Internal.Base.Monad (Control.Monad.Trans.Elevator.Elevator t m)
Files
- CHANGELOG.md +5/−0
- deriving-trans.cabal +2/−11
- src/Control/Monad/Accum/OrphanInstances.hs +0/−10
- src/Control/Monad/Trans/Compose.hs +0/−31
- src/Control/Monad/Trans/Elevator.hs +0/−24
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for deriving-trans +## 0.11.0.0 *07 Apr 2026*++* Raise lower version bound for mtl `>= 2.3.2`.+* Completely remove the `random` flag and drop the optional dependency.+ ## 0.10.0.1 *07 Apr 2026* * Add upper version bound for mtl `< 2.3.2`.
deriving-trans.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: deriving-trans-version: 0.10.0.1+version: 0.11.0.0 synopsis: Derive instances for monad transformer stacks description: Implementing instances for monad transformer stacks can be tedious.@@ -50,11 +50,6 @@ description: Implement instances for `PrimMonad`. -flag random- default: False- description:- Implement instances for random's type classes.- flag resourcet default: True description:@@ -89,16 +84,12 @@ , monad-logger >= 0.3.38 if flag(mtl) other-modules:- Control.Monad.Accum.OrphanInstances Control.Monad.Select.OrphanInstances build-depends:- , mtl >= 2.3 && < 2.3.2+ , mtl >= 2.3.2 if flag(primitive) build-depends: , primitive >= 0.7.1.0- if flag(random)- build-depends:- , random >= 1.2 && < 1.3 if flag(resourcet) build-depends: , resourcet >= 1.2
− src/Control/Monad/Accum/OrphanInstances.hs
@@ -1,10 +0,0 @@-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Control.Monad.Accum.OrphanInstances where--import Control.Monad.Accum-import Control.Monad.Trans.Accum qualified as T--instance (Monoid w, Monad m) => MonadAccum w (T.AccumT w m) where- look = T.look- add = T.add
src/Control/Monad/Trans/Compose.hs view
@@ -35,7 +35,6 @@ #if defined(VERSION_mtl) import Control.Monad.Accum qualified as Mtl-import Control.Monad.Accum.OrphanInstances qualified as Mtl () import Control.Monad.Cont.Class qualified as Mtl import Control.Monad.Error.Class qualified as Mtl import Control.Monad.Reader.Class qualified as Mtl@@ -64,11 +63,6 @@ import Control.Monad.Primitive qualified as Primitive #endif -#if defined(VERSION_random)-import Data.Functor.Const qualified as Random-import System.Random.Stateful qualified as Random-#endif- #if defined(VERSION_resourcet) import Control.Monad.Trans.Resource qualified as ResourceT #endif@@ -584,31 +578,6 @@ , MonadTrans (ComposeT t1 t2) ) => Primitive.PrimMonad (ComposeT t1 t2 m)-#endif--#if defined(VERSION_random)--- | /OVERLAPPABLE/.--- Elevated to @(t2 m)@.-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- uniformWord16 = ComposeT . lift . Random.uniformWord16 . Random.getConst- uniformWord32 = ComposeT . lift . Random.uniformWord32 . Random.getConst- uniformWord64 = ComposeT . lift . Random.uniformWord64 . Random.getConst- uniformShortByteString n = ComposeT . lift . Random.uniformShortByteString n . Random.getConst---- | /OVERLAPPABLE/.--- Elevated to @(t2 m)@.-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---- | /OVERLAPPABLE/.--- Elevated to @(t2 m)@.-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 #if defined(VERSION_resourcet)
src/Control/Monad/Trans/Elevator.hs view
@@ -42,11 +42,6 @@ import Control.Monad.Primitive qualified as Primitive #endif -#if defined(VERSION_random)-import Data.Functor.Const qualified as Random-import System.Random.Stateful qualified as Random-#endif- #if defined(VERSION_resourcet) import Control.Monad.Trans.Resource qualified as ResourceT #endif@@ -200,25 +195,6 @@ instance (Primitive.PrimMonad m, MonadTrans t) => Primitive.PrimMonad (Elevator t m) where type PrimState (Elevator t m) = Primitive.PrimState m primitive = lift . Primitive.primitive-#endif--#if defined(VERSION_random)-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- uniformWord16 = lift . Random.uniformWord16 . Random.getConst- uniformWord32 = lift . Random.uniformWord32 . Random.getConst- uniformWord64 = lift . Random.uniformWord64 . Random.getConst- uniformShortByteString n = lift . Random.uniformShortByteString n . Random.getConst--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--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 #if defined(VERSION_resourcet)