monadLib 3.7.3 → 3.8
raw patch · 3 files changed
+35/−9 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
- MonadLib: instance (AbortM m i, Monoid j) => AbortM (WriterT j m) i
- MonadLib: instance (BaseM m n, Monoid i) => BaseM (WriterT i m) n
- MonadLib: instance (ContM m, Monoid i) => ContM (WriterT i m)
- MonadLib: instance (ExceptionM m j, Monoid i) => ExceptionM (WriterT i m) j
- MonadLib: instance (Monad m, Monoid i) => Applicative (WriterT i m)
- MonadLib: instance (Monad m, Monoid i) => Functor (WriterT i m)
- MonadLib: instance (Monad m, Monoid i) => Monad (WriterT i m)
- MonadLib: instance (Monad m, Monoid i) => RunWriterM (WriterT i m) i
- MonadLib: instance (Monad m, Monoid i) => WriterM (WriterT i m) i
- MonadLib: instance (MonadFix m, Monoid i) => MonadFix (WriterT i m)
- MonadLib: instance (MonadPlus m, Monoid i) => Alternative (WriterT i m)
- MonadLib: instance (MonadPlus m, Monoid i) => MonadPlus (WriterT i m)
- MonadLib: instance (Monoid i, RunM m (a, i) r) => RunM (WriterT i m) a r
- MonadLib: instance (ReaderM m j, Monoid i) => ReaderM (WriterT i m) j
- MonadLib: instance (RunExceptionM m i, Monoid j) => RunExceptionM (WriterT j m) i
- MonadLib: instance (RunReaderM m j, Monoid i) => RunReaderM (WriterT i m) j
- MonadLib: instance (RunWriterM m j, MonadFix m) => RunWriterM (ContT i m) j
- MonadLib: instance (StateM m j, Monoid i) => StateM (WriterT i m) j
- MonadLib: instance AbortM IO ExitCode
- MonadLib: instance AbortM m i => AbortM (ChoiceT m) i
- MonadLib: instance AbortM m i => AbortM (ExceptionT j m) i
- MonadLib: instance AbortM m i => AbortM (IdT m) i
- MonadLib: instance AbortM m i => AbortM (ReaderT j m) i
- MonadLib: instance AbortM m i => AbortM (StateT j m) i
- MonadLib: instance Applicative Id
- MonadLib: instance Applicative Lift
- MonadLib: instance BaseM (ST s) (ST s)
- MonadLib: instance BaseM IO IO
- MonadLib: instance BaseM Id Id
- MonadLib: instance BaseM Lift Lift
- MonadLib: instance BaseM Maybe Maybe
- MonadLib: instance BaseM [] []
- MonadLib: instance BaseM m n => BaseM (ChoiceT m) n
- MonadLib: instance BaseM m n => BaseM (ContT i m) n
- MonadLib: instance BaseM m n => BaseM (ExceptionT i m) n
- MonadLib: instance BaseM m n => BaseM (IdT m) n
- MonadLib: instance BaseM m n => BaseM (ReaderT i m) n
- MonadLib: instance BaseM m n => BaseM (StateT i m) n
- MonadLib: instance ContM m => ContM (ChoiceT m)
- MonadLib: instance ContM m => ContM (ExceptionT i m)
- MonadLib: instance ContM m => ContM (IdT m)
- MonadLib: instance ContM m => ContM (ReaderT i m)
- MonadLib: instance ContM m => ContM (StateT i m)
- MonadLib: instance ExceptionM IO SomeException
- MonadLib: instance ExceptionM m j => ExceptionM (ChoiceT m) j
- MonadLib: instance ExceptionM m j => ExceptionM (ContT i m) j
- MonadLib: instance ExceptionM m j => ExceptionM (IdT m) j
- MonadLib: instance ExceptionM m j => ExceptionM (ReaderT i m) j
- MonadLib: instance ExceptionM m j => ExceptionM (StateT i m) j
- MonadLib: instance Functor Id
- MonadLib: instance Functor Lift
- MonadLib: instance Monad Id
- MonadLib: instance Monad Lift
- MonadLib: instance Monad m => AbortM (ContT i m) i
- MonadLib: instance Monad m => Alternative (ChoiceT m)
- MonadLib: instance Monad m => Applicative (ChoiceT m)
- MonadLib: instance Monad m => Applicative (ContT i m)
- MonadLib: instance Monad m => Applicative (ExceptionT i m)
- MonadLib: instance Monad m => Applicative (IdT m)
- MonadLib: instance Monad m => Applicative (ReaderT i m)
- MonadLib: instance Monad m => Applicative (StateT i m)
- MonadLib: instance Monad m => ContM (ContT i m)
- MonadLib: instance Monad m => ExceptionM (ExceptionT i m) i
- MonadLib: instance Monad m => Functor (ChoiceT m)
- MonadLib: instance Monad m => Functor (ContT i m)
- MonadLib: instance Monad m => Functor (ExceptionT i m)
- MonadLib: instance Monad m => Functor (IdT m)
- MonadLib: instance Monad m => Functor (ReaderT i m)
- MonadLib: instance Monad m => Functor (StateT i m)
- MonadLib: instance Monad m => Monad (ChoiceT m)
- MonadLib: instance Monad m => Monad (ContT i m)
- MonadLib: instance Monad m => Monad (ExceptionT i m)
- MonadLib: instance Monad m => Monad (IdT m)
- MonadLib: instance Monad m => Monad (ReaderT i m)
- MonadLib: instance Monad m => Monad (StateT i m)
- MonadLib: instance Monad m => MonadPlus (ChoiceT m)
- MonadLib: instance Monad m => ReaderM (ReaderT i m) i
- MonadLib: instance Monad m => RunExceptionM (ExceptionT i m) i
- MonadLib: instance Monad m => RunReaderM (ReaderT i m) i
- MonadLib: instance Monad m => StateM (StateT i m) i
- MonadLib: instance MonadFix Id
- MonadLib: instance MonadFix Lift
- MonadLib: instance MonadFix m => MonadFix (ExceptionT i m)
- MonadLib: instance MonadFix m => MonadFix (IdT m)
- MonadLib: instance MonadFix m => MonadFix (ReaderT i m)
- MonadLib: instance MonadFix m => MonadFix (StateT i m)
- MonadLib: instance MonadPlus m => Alternative (ContT i m)
- MonadLib: instance MonadPlus m => Alternative (ExceptionT i m)
- MonadLib: instance MonadPlus m => Alternative (IdT m)
- MonadLib: instance MonadPlus m => Alternative (ReaderT i m)
- MonadLib: instance MonadPlus m => Alternative (StateT i m)
- MonadLib: instance MonadPlus m => MonadPlus (ContT i m)
- MonadLib: instance MonadPlus m => MonadPlus (ExceptionT i m)
- MonadLib: instance MonadPlus m => MonadPlus (IdT m)
- MonadLib: instance MonadPlus m => MonadPlus (ReaderT i m)
- MonadLib: instance MonadPlus m => MonadPlus (StateT i m)
- MonadLib: instance MonadT (ContT i)
- MonadLib: instance MonadT (ExceptionT i)
- MonadLib: instance MonadT (ReaderT i)
- MonadLib: instance MonadT (StateT i)
- MonadLib: instance MonadT ChoiceT
- MonadLib: instance MonadT IdT
- MonadLib: instance Monoid i => MonadT (WriterT i)
- MonadLib: instance ReaderM m j => ReaderM (ChoiceT m) j
- MonadLib: instance ReaderM m j => ReaderM (ContT i m) j
- MonadLib: instance ReaderM m j => ReaderM (ExceptionT i m) j
- MonadLib: instance ReaderM m j => ReaderM (IdT m) j
- MonadLib: instance ReaderM m j => ReaderM (StateT i m) j
- MonadLib: instance RunExceptionM IO SomeException
- MonadLib: instance RunExceptionM m i => RunExceptionM (IdT m) i
- MonadLib: instance RunExceptionM m i => RunExceptionM (ReaderT j m) i
- MonadLib: instance RunExceptionM m i => RunExceptionM (StateT j m) i
- MonadLib: instance RunM IO a (IO a)
- MonadLib: instance RunM Id a a
- MonadLib: instance RunM Lift a a
- MonadLib: instance RunM m (Either i a) r => RunM (ExceptionT i m) a r
- MonadLib: instance RunM m (Maybe (a, ChoiceT m a)) r => RunM (ChoiceT m) a r
- MonadLib: instance RunM m (a, i) r => RunM (StateT i m) a (i -> r)
- MonadLib: instance RunM m a r => RunM (IdT m) a r
- MonadLib: instance RunM m a r => RunM (ReaderT i m) a (i -> r)
- MonadLib: instance RunM m i r => RunM (ContT i m) a ((a -> m i) -> r)
- MonadLib: instance RunReaderM m j => RunReaderM (ContT i m) j
- MonadLib: instance RunReaderM m j => RunReaderM (ExceptionT i m) j
- MonadLib: instance RunReaderM m j => RunReaderM (IdT m) j
- MonadLib: instance RunReaderM m j => RunReaderM (StateT i m) j
- MonadLib: instance RunWriterM m j => RunWriterM (ExceptionT i m) j
- MonadLib: instance RunWriterM m j => RunWriterM (IdT m) j
- MonadLib: instance RunWriterM m j => RunWriterM (ReaderT i m) j
- MonadLib: instance RunWriterM m j => RunWriterM (StateT i m) j
- MonadLib: instance StateM m j => StateM (ChoiceT m) j
- MonadLib: instance StateM m j => StateM (ContT i m) j
- MonadLib: instance StateM m j => StateM (ExceptionT i m) j
- MonadLib: instance StateM m j => StateM (IdT m) j
- MonadLib: instance StateM m j => StateM (ReaderT i m) j
- MonadLib: instance WriterM m j => WriterM (ChoiceT m) j
- MonadLib: instance WriterM m j => WriterM (ContT i m) j
- MonadLib: instance WriterM m j => WriterM (ExceptionT i m) j
- MonadLib: instance WriterM m j => WriterM (IdT m) j
- MonadLib: instance WriterM m j => WriterM (ReaderT i m) j
- MonadLib: instance WriterM m j => WriterM (StateT i m) j
- MonadLib.Monads: instance [safe] Applicative (Cont i)
- MonadLib.Monads: instance [safe] Applicative (Exception i)
- MonadLib.Monads: instance [safe] Applicative (Reader i)
- MonadLib.Monads: instance [safe] Applicative (State i)
- MonadLib.Monads: instance [safe] BaseM (Cont i) (Cont i)
- MonadLib.Monads: instance [safe] BaseM (Exception i) (Exception i)
- MonadLib.Monads: instance [safe] BaseM (Reader i) (Reader i)
- MonadLib.Monads: instance [safe] BaseM (State i) (State i)
- MonadLib.Monads: instance [safe] ContM (Cont i)
- MonadLib.Monads: instance [safe] ExceptionM (Exception i) i
- MonadLib.Monads: instance [safe] Functor (Cont i)
- MonadLib.Monads: instance [safe] Functor (Exception i)
- MonadLib.Monads: instance [safe] Functor (Reader i)
- MonadLib.Monads: instance [safe] Functor (State i)
- MonadLib.Monads: instance [safe] Monad (Cont i)
- MonadLib.Monads: instance [safe] Monad (Exception i)
- MonadLib.Monads: instance [safe] Monad (Reader i)
- MonadLib.Monads: instance [safe] Monad (State i)
- MonadLib.Monads: instance [safe] MonadFix (Exception i)
- MonadLib.Monads: instance [safe] MonadFix (Reader i)
- MonadLib.Monads: instance [safe] MonadFix (State i)
- MonadLib.Monads: instance [safe] Monoid i => Applicative (Writer i)
- MonadLib.Monads: instance [safe] Monoid i => BaseM (Writer i) (Writer i)
- MonadLib.Monads: instance [safe] Monoid i => Functor (Writer i)
- MonadLib.Monads: instance [safe] Monoid i => Monad (Writer i)
- MonadLib.Monads: instance [safe] Monoid i => MonadFix (Writer i)
- MonadLib.Monads: instance [safe] Monoid i => RunWriterM (Writer i) i
- MonadLib.Monads: instance [safe] Monoid i => WriterM (Writer i) i
- MonadLib.Monads: instance [safe] ReaderM (Reader i) i
- MonadLib.Monads: instance [safe] RunExceptionM (Exception i) i
- MonadLib.Monads: instance [safe] RunReaderM (Reader i) i
- MonadLib.Monads: instance [safe] StateM (State i) i
+ MonadLib: instance (Control.Monad.Fix.MonadFix m, GHC.Base.Monoid i) => Control.Monad.Fix.MonadFix (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.Monad m, GHC.Base.Monoid i) => GHC.Base.Applicative (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.Monad m, GHC.Base.Monoid i) => GHC.Base.Functor (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.Monad m, GHC.Base.Monoid i) => GHC.Base.Monad (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.Monad m, GHC.Base.Monoid i) => MonadLib.RunWriterM (MonadLib.WriterT i m) i
+ MonadLib: instance (GHC.Base.Monad m, GHC.Base.Monoid i) => MonadLib.WriterM (MonadLib.WriterT i m) i
+ MonadLib: instance (GHC.Base.MonadPlus m, GHC.Base.Monoid i) => GHC.Base.Alternative (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.MonadPlus m, GHC.Base.Monoid i) => GHC.Base.MonadPlus (MonadLib.WriterT i m)
+ MonadLib: instance (GHC.Base.Monoid i, MonadLib.RunM m (a, i) r) => MonadLib.RunM (MonadLib.WriterT i m) a r
+ MonadLib: instance (MonadLib.AbortM m i, GHC.Base.Monoid j) => MonadLib.AbortM (MonadLib.WriterT j m) i
+ MonadLib: instance (MonadLib.BaseM m n, GHC.Base.Monoid i) => MonadLib.BaseM (MonadLib.WriterT i m) n
+ MonadLib: instance (MonadLib.ContM m, GHC.Base.Monoid i) => MonadLib.ContM (MonadLib.WriterT i m)
+ MonadLib: instance (MonadLib.ExceptionM m j, GHC.Base.Monoid i) => MonadLib.ExceptionM (MonadLib.WriterT i m) j
+ MonadLib: instance (MonadLib.ReaderM m j, GHC.Base.Monoid i) => MonadLib.ReaderM (MonadLib.WriterT i m) j
+ MonadLib: instance (MonadLib.RunExceptionM m i, GHC.Base.Monoid j) => MonadLib.RunExceptionM (MonadLib.WriterT j m) i
+ MonadLib: instance (MonadLib.RunReaderM m j, GHC.Base.Monoid i) => MonadLib.RunReaderM (MonadLib.WriterT i m) j
+ MonadLib: instance (MonadLib.RunWriterM m j, Control.Monad.Fix.MonadFix m) => MonadLib.RunWriterM (MonadLib.ContT i m) j
+ MonadLib: instance (MonadLib.StateM m j, GHC.Base.Monoid i) => MonadLib.StateM (MonadLib.WriterT i m) j
+ MonadLib: instance Control.Monad.Fix.MonadFix MonadLib.Id
+ MonadLib: instance Control.Monad.Fix.MonadFix MonadLib.Lift
+ MonadLib: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (MonadLib.ExceptionT i m)
+ MonadLib: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (MonadLib.IdT m)
+ MonadLib: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (MonadLib.ReaderT i m)
+ MonadLib: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.Applicative MonadLib.Id
+ MonadLib: instance GHC.Base.Applicative MonadLib.Lift
+ MonadLib: instance GHC.Base.Functor MonadLib.Id
+ MonadLib: instance GHC.Base.Functor MonadLib.Lift
+ MonadLib: instance GHC.Base.Monad MonadLib.Id
+ MonadLib: instance GHC.Base.Monad MonadLib.Lift
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Alternative (MonadLib.ChoiceT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.ChoiceT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.ExceptionT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.IdT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.ReaderT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Applicative (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.ChoiceT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.ExceptionT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.IdT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.ReaderT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Functor (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.ChoiceT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.ExceptionT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.IdT m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.ReaderT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.Monad (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.Monad m => GHC.Base.MonadPlus (MonadLib.ChoiceT m)
+ MonadLib: instance GHC.Base.Monad m => MonadLib.AbortM (MonadLib.ContT i m) i
+ MonadLib: instance GHC.Base.Monad m => MonadLib.ContM (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.Monad m => MonadLib.ExceptionM (MonadLib.ExceptionT i m) i
+ MonadLib: instance GHC.Base.Monad m => MonadLib.ReaderM (MonadLib.ReaderT i m) i
+ MonadLib: instance GHC.Base.Monad m => MonadLib.RunExceptionM (MonadLib.ExceptionT i m) i
+ MonadLib: instance GHC.Base.Monad m => MonadLib.RunReaderM (MonadLib.ReaderT i m) i
+ MonadLib: instance GHC.Base.Monad m => MonadLib.StateM (MonadLib.StateT i m) i
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (MonadLib.ExceptionT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (MonadLib.IdT m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (MonadLib.ReaderT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (MonadLib.ContT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (MonadLib.ExceptionT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (MonadLib.IdT m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (MonadLib.ReaderT i m)
+ MonadLib: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (MonadLib.StateT i m)
+ MonadLib: instance GHC.Base.Monoid i => MonadLib.MonadT (MonadLib.WriterT i)
+ MonadLib: instance MonadLib.AbortM GHC.Types.IO GHC.IO.Exception.ExitCode
+ MonadLib: instance MonadLib.AbortM m i => MonadLib.AbortM (MonadLib.ChoiceT m) i
+ MonadLib: instance MonadLib.AbortM m i => MonadLib.AbortM (MonadLib.ExceptionT j m) i
+ MonadLib: instance MonadLib.AbortM m i => MonadLib.AbortM (MonadLib.IdT m) i
+ MonadLib: instance MonadLib.AbortM m i => MonadLib.AbortM (MonadLib.ReaderT j m) i
+ MonadLib: instance MonadLib.AbortM m i => MonadLib.AbortM (MonadLib.StateT j m) i
+ MonadLib: instance MonadLib.BaseM (GHC.ST.ST s) (GHC.ST.ST s)
+ MonadLib: instance MonadLib.BaseM GHC.Maybe.Maybe GHC.Maybe.Maybe
+ MonadLib: instance MonadLib.BaseM GHC.Types.IO GHC.Types.IO
+ MonadLib: instance MonadLib.BaseM MonadLib.Id MonadLib.Id
+ MonadLib: instance MonadLib.BaseM MonadLib.Lift MonadLib.Lift
+ MonadLib: instance MonadLib.BaseM [] []
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.ChoiceT m) n
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.ContT i m) n
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.ExceptionT i m) n
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.IdT m) n
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.ReaderT i m) n
+ MonadLib: instance MonadLib.BaseM m n => MonadLib.BaseM (MonadLib.StateT i m) n
+ MonadLib: instance MonadLib.ContM m => MonadLib.ContM (MonadLib.ChoiceT m)
+ MonadLib: instance MonadLib.ContM m => MonadLib.ContM (MonadLib.ExceptionT i m)
+ MonadLib: instance MonadLib.ContM m => MonadLib.ContM (MonadLib.IdT m)
+ MonadLib: instance MonadLib.ContM m => MonadLib.ContM (MonadLib.ReaderT i m)
+ MonadLib: instance MonadLib.ContM m => MonadLib.ContM (MonadLib.StateT i m)
+ MonadLib: instance MonadLib.ExceptionM GHC.Types.IO GHC.Exception.Type.SomeException
+ MonadLib: instance MonadLib.ExceptionM m j => MonadLib.ExceptionM (MonadLib.ChoiceT m) j
+ MonadLib: instance MonadLib.ExceptionM m j => MonadLib.ExceptionM (MonadLib.ContT i m) j
+ MonadLib: instance MonadLib.ExceptionM m j => MonadLib.ExceptionM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.ExceptionM m j => MonadLib.ExceptionM (MonadLib.ReaderT i m) j
+ MonadLib: instance MonadLib.ExceptionM m j => MonadLib.ExceptionM (MonadLib.StateT i m) j
+ MonadLib: instance MonadLib.MonadT (MonadLib.ContT i)
+ MonadLib: instance MonadLib.MonadT (MonadLib.ExceptionT i)
+ MonadLib: instance MonadLib.MonadT (MonadLib.ReaderT i)
+ MonadLib: instance MonadLib.MonadT (MonadLib.StateT i)
+ MonadLib: instance MonadLib.MonadT MonadLib.ChoiceT
+ MonadLib: instance MonadLib.MonadT MonadLib.IdT
+ MonadLib: instance MonadLib.ReaderM m j => MonadLib.ReaderM (MonadLib.ChoiceT m) j
+ MonadLib: instance MonadLib.ReaderM m j => MonadLib.ReaderM (MonadLib.ContT i m) j
+ MonadLib: instance MonadLib.ReaderM m j => MonadLib.ReaderM (MonadLib.ExceptionT i m) j
+ MonadLib: instance MonadLib.ReaderM m j => MonadLib.ReaderM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.ReaderM m j => MonadLib.ReaderM (MonadLib.StateT i m) j
+ MonadLib: instance MonadLib.RunExceptionM GHC.Types.IO GHC.Exception.Type.SomeException
+ MonadLib: instance MonadLib.RunExceptionM m i => MonadLib.RunExceptionM (MonadLib.IdT m) i
+ MonadLib: instance MonadLib.RunExceptionM m i => MonadLib.RunExceptionM (MonadLib.ReaderT j m) i
+ MonadLib: instance MonadLib.RunExceptionM m i => MonadLib.RunExceptionM (MonadLib.StateT j m) i
+ MonadLib: instance MonadLib.RunM GHC.Types.IO a (GHC.Types.IO a)
+ MonadLib: instance MonadLib.RunM MonadLib.Id a a
+ MonadLib: instance MonadLib.RunM MonadLib.Lift a a
+ MonadLib: instance MonadLib.RunM m (Data.Either.Either i a) r => MonadLib.RunM (MonadLib.ExceptionT i m) a r
+ MonadLib: instance MonadLib.RunM m (GHC.Maybe.Maybe (a, MonadLib.ChoiceT m a)) r => MonadLib.RunM (MonadLib.ChoiceT m) a r
+ MonadLib: instance MonadLib.RunM m (a, i) r => MonadLib.RunM (MonadLib.StateT i m) a (i -> r)
+ MonadLib: instance MonadLib.RunM m a r => MonadLib.RunM (MonadLib.IdT m) a r
+ MonadLib: instance MonadLib.RunM m a r => MonadLib.RunM (MonadLib.ReaderT i m) a (i -> r)
+ MonadLib: instance MonadLib.RunM m i r => MonadLib.RunM (MonadLib.ContT i m) a ((a -> m i) -> r)
+ MonadLib: instance MonadLib.RunReaderM m j => MonadLib.RunReaderM (MonadLib.ContT i m) j
+ MonadLib: instance MonadLib.RunReaderM m j => MonadLib.RunReaderM (MonadLib.ExceptionT i m) j
+ MonadLib: instance MonadLib.RunReaderM m j => MonadLib.RunReaderM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.RunReaderM m j => MonadLib.RunReaderM (MonadLib.StateT i m) j
+ MonadLib: instance MonadLib.RunWriterM m j => MonadLib.RunWriterM (MonadLib.ExceptionT i m) j
+ MonadLib: instance MonadLib.RunWriterM m j => MonadLib.RunWriterM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.RunWriterM m j => MonadLib.RunWriterM (MonadLib.ReaderT i m) j
+ MonadLib: instance MonadLib.RunWriterM m j => MonadLib.RunWriterM (MonadLib.StateT i m) j
+ MonadLib: instance MonadLib.StateM m j => MonadLib.StateM (MonadLib.ChoiceT m) j
+ MonadLib: instance MonadLib.StateM m j => MonadLib.StateM (MonadLib.ContT i m) j
+ MonadLib: instance MonadLib.StateM m j => MonadLib.StateM (MonadLib.ExceptionT i m) j
+ MonadLib: instance MonadLib.StateM m j => MonadLib.StateM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.StateM m j => MonadLib.StateM (MonadLib.ReaderT i m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.ChoiceT m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.ContT i m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.ExceptionT i m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.IdT m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.ReaderT i m) j
+ MonadLib: instance MonadLib.WriterM m j => MonadLib.WriterM (MonadLib.StateT i m) j
+ MonadLib: type family WithBase base layers :: Type -> Type
+ MonadLib.Monads: instance Control.Monad.Fix.MonadFix (MonadLib.Monads.Exception i)
+ MonadLib.Monads: instance Control.Monad.Fix.MonadFix (MonadLib.Monads.Reader i)
+ MonadLib.Monads: instance Control.Monad.Fix.MonadFix (MonadLib.Monads.State i)
+ MonadLib.Monads: instance GHC.Base.Applicative (MonadLib.Monads.Cont i)
+ MonadLib.Monads: instance GHC.Base.Applicative (MonadLib.Monads.Exception i)
+ MonadLib.Monads: instance GHC.Base.Applicative (MonadLib.Monads.Reader i)
+ MonadLib.Monads: instance GHC.Base.Applicative (MonadLib.Monads.State i)
+ MonadLib.Monads: instance GHC.Base.Functor (MonadLib.Monads.Cont i)
+ MonadLib.Monads: instance GHC.Base.Functor (MonadLib.Monads.Exception i)
+ MonadLib.Monads: instance GHC.Base.Functor (MonadLib.Monads.Reader i)
+ MonadLib.Monads: instance GHC.Base.Functor (MonadLib.Monads.State i)
+ MonadLib.Monads: instance GHC.Base.Monad (MonadLib.Monads.Cont i)
+ MonadLib.Monads: instance GHC.Base.Monad (MonadLib.Monads.Exception i)
+ MonadLib.Monads: instance GHC.Base.Monad (MonadLib.Monads.Reader i)
+ MonadLib.Monads: instance GHC.Base.Monad (MonadLib.Monads.State i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => Control.Monad.Fix.MonadFix (MonadLib.Monads.Writer i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => GHC.Base.Applicative (MonadLib.Monads.Writer i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => GHC.Base.Functor (MonadLib.Monads.Writer i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => GHC.Base.Monad (MonadLib.Monads.Writer i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => MonadLib.BaseM (MonadLib.Monads.Writer i) (MonadLib.Monads.Writer i)
+ MonadLib.Monads: instance GHC.Base.Monoid i => MonadLib.RunWriterM (MonadLib.Monads.Writer i) i
+ MonadLib.Monads: instance GHC.Base.Monoid i => MonadLib.WriterM (MonadLib.Monads.Writer i) i
+ MonadLib.Monads: instance MonadLib.BaseM (MonadLib.Monads.Cont i) (MonadLib.Monads.Cont i)
+ MonadLib.Monads: instance MonadLib.BaseM (MonadLib.Monads.Exception i) (MonadLib.Monads.Exception i)
+ MonadLib.Monads: instance MonadLib.BaseM (MonadLib.Monads.Reader i) (MonadLib.Monads.Reader i)
+ MonadLib.Monads: instance MonadLib.BaseM (MonadLib.Monads.State i) (MonadLib.Monads.State i)
+ MonadLib.Monads: instance MonadLib.ContM (MonadLib.Monads.Cont i)
+ MonadLib.Monads: instance MonadLib.ExceptionM (MonadLib.Monads.Exception i) i
+ MonadLib.Monads: instance MonadLib.ReaderM (MonadLib.Monads.Reader i) i
+ MonadLib.Monads: instance MonadLib.RunExceptionM (MonadLib.Monads.Exception i) i
+ MonadLib.Monads: instance MonadLib.RunReaderM (MonadLib.Monads.Reader i) i
+ MonadLib.Monads: instance MonadLib.StateM (MonadLib.Monads.State i) i
- MonadLib: class Monad m => ExceptionM m i | m -> i
+ MonadLib: class (Monad m) => ExceptionM m i | m -> i
- MonadLib: class Monad m => ReaderM m i | m -> i
+ MonadLib: class (Monad m) => ReaderM m i | m -> i
- MonadLib: class ReaderM m i => RunReaderM m i | m -> i
+ MonadLib: class (ReaderM m i) => RunReaderM m i | m -> i
- MonadLib: class Monad m => StateM m i | m -> i
+ MonadLib: class (Monad m) => StateM m i | m -> i
- MonadLib: class Monad m => WriterM m i | m -> i
+ MonadLib: class (Monad m) => WriterM m i | m -> i
- MonadLib: labelCC_ :: ContM m => m (Label m)
+ MonadLib: labelCC_ :: forall m. ContM m => m (Label m)
- MonadLib.Derive: derive_apply :: Applicative m => Iso m n -> n (a -> b) -> (n a -> n b)
+ MonadLib.Derive: derive_apply :: Applicative m => Iso m n -> n (a -> b) -> n a -> n b
- MonadLib.Derive: derive_return :: Monad m => Iso m n -> (a -> n a)
+ MonadLib.Derive: derive_return :: Monad m => Iso m n -> a -> n a
Files
- CHANGES +3/−0
- monadLib.cabal +1/−8
- src/MonadLib.hs +31/−1
CHANGES view
@@ -1,3 +1,6 @@+Version 3.8+ * Added `WithBase`+ Version 3.3.0 * Remove 'RunStateM'
monadLib.cabal view
@@ -1,5 +1,5 @@ Name: monadLib-Version: 3.7.3+Version: 3.8 License: BSD3 License-file: LICENSE Author: Iavor S. Diatchki@@ -25,13 +25,6 @@ MonadLib, MonadLib.Monads, MonadLib.Derive- Extensions:- CPP,- MultiParamTypeClasses,- FunctionalDependencies,- Rank2Types,- FlexibleInstances,- UndecidableInstances if flag(base3) Build-depends: base < 4
src/MonadLib.hs view
@@ -1,8 +1,9 @@ {-# LANGUAGE CPP, MultiParamTypeClasses, FunctionalDependencies, UndecidableInstances, FlexibleInstances #-}+{-# LANGUAGE DataKinds, TypeFamilies, TypeOperators #-} {-# LANGUAGE Rank2Types #-} {-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} {-| This library provides a collection of monad transformers that can be combined to produce various monads. -}@@ -43,6 +44,7 @@ asks, puts, sets, sets_, raises, mapReader, mapWriter, mapException, handle,+ WithBase, -- * Miscellaneous version,@@ -62,6 +64,7 @@ #endif import System.Exit(ExitCode,exitWith) import Data.Monoid+import Data.Kind(Type) import Prelude hiding (Ordering(..)) -- | The current version of the library.@@ -822,5 +825,32 @@ case r of Right a -> return a Left x -> f x+++{- | A convenience type family for defining stacks of monads.+The first entry in the list is the top-most layer of the monad stack+(i.e., the one that is furtherest from the base). For example:++> newtype M a = M { unM ::+> WithBase IO+> '[ ReaderT Int+> , StateT Char+> , ExceptionT String+> ] a+> }++is equivalent to:++> newtype M a = M { unM ::+> ReaderT Int (+> StateT Char (+> ExceptionT String+> IO )) a+> }++-}+type family WithBase base layers :: Type -> Type where+ WithBase b '[] = b+ WithBase b (f ': fs) = f (WithBase b fs)