monad-unlift 0.1.1.0 → 0.1.2.0
raw patch · 2 files changed
+15/−11 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Monad.Trans.RWS.Ref: instance (MCState (refs s) ~ PrimState b, Monad m, s ~ RefElement (refs s), MutableRef (refs s), PrimMonad b, MonadBase b m) => MonadState s (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance (MCState (refw w) ~ PrimState b, MCState (refs s) ~ PrimState b, Monad m, w ~ RefElement (refw w), s ~ RefElement (refs s), MutableRef (refw w), MutableRef (refs s), PrimMonad b, MonadBase b m, Monoid w) => MonadRWS r w s (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance (MCState (refw w) ~ PrimState b, Monad m, w ~ RefElement (refw w), MutableRef (refw w), PrimMonad b, MonadBase b m, Monoid w) => MonadWriter w (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance Applicative m => Applicative (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance Functor m => Functor (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance Monad m => Monad (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance Monad m => MonadReader r (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadBase b m => MonadBase b (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadBaseControl b m => MonadBaseControl b (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadCatch m => MonadCatch (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadIO m => MonadIO (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadMask m => MonadMask (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadResource m => MonadResource (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadThrow m => MonadThrow (RWSRefT refw refs r w s m)
- Control.Monad.Trans.RWS.Ref: instance MonadTrans (RWSRefT refw refs r w s)
- Control.Monad.Trans.RWS.Ref: instance MonadTransControl (RWSRefT refw refs r w s)
- Control.Monad.Trans.State.Ref: instance (MCState (ref s) ~ PrimState b, Monad m, s ~ RefElement (ref s), MutableRef (ref s), PrimMonad b, MonadBase b m) => MonadState s (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance Applicative m => Applicative (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance Functor m => Functor (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance Monad m => Monad (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadBase b m => MonadBase b (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadBaseControl b m => MonadBaseControl b (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadCatch m => MonadCatch (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadIO m => MonadIO (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadMask m => MonadMask (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadResource m => MonadResource (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadThrow m => MonadThrow (StateRefT ref s m)
- Control.Monad.Trans.State.Ref: instance MonadTrans (StateRefT ref s)
- Control.Monad.Trans.State.Ref: instance MonadTransControl (StateRefT ref s)
- Control.Monad.Trans.Unlift: instance (MonadBaseControl b m, Forall (IdenticalBase m)) => MonadBaseUnlift b m
- Control.Monad.Trans.Unlift: instance (MonadTransControl t, Forall (Identical t)) => MonadTransUnlift t
- Control.Monad.Trans.Unlift: instance StM m a ~ a => IdenticalBase m a
- Control.Monad.Trans.Unlift: instance StT t a ~ a => Identical t a
- Control.Monad.Trans.Unlift: unlift :: Unlift t -> forall a n. Monad n => t n a -> n a
- Control.Monad.Trans.Unlift: unliftBase :: UnliftBase b m -> forall a. m a -> b a
- Control.Monad.Trans.Writer.Ref: instance (MCState (ref w) ~ PrimState b, Monad m, w ~ RefElement (ref w), MutableRef (ref w), PrimMonad b, MonadBase b m, Monoid w) => MonadWriter w (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance Applicative m => Applicative (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance Functor m => Functor (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance Monad m => Monad (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadBase b m => MonadBase b (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadBaseControl b m => MonadBaseControl b (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadCatch m => MonadCatch (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadIO m => MonadIO (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadMask m => MonadMask (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadResource m => MonadResource (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadThrow m => MonadThrow (WriterRefT ref w m)
- Control.Monad.Trans.Writer.Ref: instance MonadTrans (WriterRefT ref w)
- Control.Monad.Trans.Writer.Ref: instance MonadTransControl (WriterRefT ref w)
+ Control.Monad.Trans.RWS.Ref: instance (Data.Mutable.Class.MCState (refs s) ~ Control.Monad.Primitive.PrimState b, GHC.Base.Monad m, s ~ Data.Mutable.Class.RefElement (refs s), Data.Mutable.Class.MutableRef (refs s), Control.Monad.Primitive.PrimMonad b, Control.Monad.Base.MonadBase b m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance (Data.Mutable.Class.MCState (refw w) ~ Control.Monad.Primitive.PrimState b, Data.Mutable.Class.MCState (refs s) ~ Control.Monad.Primitive.PrimState b, GHC.Base.Monad m, w ~ Data.Mutable.Class.RefElement (refw w), s ~ Data.Mutable.Class.RefElement (refs s), Data.Mutable.Class.MutableRef (refw w), Data.Mutable.Class.MutableRef (refs s), Control.Monad.Primitive.PrimMonad b, Control.Monad.Base.MonadBase b m, GHC.Base.Monoid w) => Control.Monad.RWS.Class.MonadRWS r w s (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance (Data.Mutable.Class.MCState (refw w) ~ Control.Monad.Primitive.PrimState b, GHC.Base.Monad m, w ~ Data.Mutable.Class.RefElement (refw w), Data.Mutable.Class.MutableRef (refw w), Control.Monad.Primitive.PrimMonad b, Control.Monad.Base.MonadBase b m, GHC.Base.Monoid w) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s)
+ Control.Monad.Trans.RWS.Ref: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.RWS.Ref: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.RWS.Ref.RWSRefT refw refs r w s m)
+ Control.Monad.Trans.State.Ref: instance (Data.Mutable.Class.MCState (ref s) ~ Control.Monad.Primitive.PrimState b, GHC.Base.Monad m, s ~ Data.Mutable.Class.RefElement (ref s), Data.Mutable.Class.MutableRef (ref s), Control.Monad.Primitive.PrimMonad b, Control.Monad.Base.MonadBase b m) => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.State.Ref.StateRefT ref s)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.State.Ref.StateRefT ref s)
+ Control.Monad.Trans.State.Ref: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.State.Ref: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.State.Ref.StateRefT ref s m)
+ Control.Monad.Trans.Unlift: [unliftBase] :: UnliftBase b m -> forall a. m a -> b a
+ Control.Monad.Trans.Unlift: [unlift] :: Unlift t -> forall a n. Monad n => t n a -> n a
+ Control.Monad.Trans.Unlift: instance (Control.Monad.Trans.Control.MonadBaseControl b m, Data.Constraint.Forall.Forall (Control.Monad.Trans.Unlift.IdenticalBase m)) => Control.Monad.Trans.Unlift.MonadBaseUnlift b m
+ Control.Monad.Trans.Unlift: instance (Control.Monad.Trans.Control.MonadTransControl t, Data.Constraint.Forall.Forall (Control.Monad.Trans.Unlift.Identical t)) => Control.Monad.Trans.Unlift.MonadTransUnlift t
+ Control.Monad.Trans.Unlift: instance (Control.Monad.Trans.Control.StM m a ~ a) => Control.Monad.Trans.Unlift.IdenticalBase m a
+ Control.Monad.Trans.Unlift: instance (Control.Monad.Trans.Control.StT t a ~ a) => Control.Monad.Trans.Unlift.Identical t a
+ Control.Monad.Trans.Writer.Ref: instance (Data.Mutable.Class.MCState (ref w) ~ Control.Monad.Primitive.PrimState b, GHC.Base.Monad m, w ~ Data.Mutable.Class.RefElement (ref w), Data.Mutable.Class.MutableRef (ref w), Control.Monad.Primitive.PrimMonad b, Control.Monad.Base.MonadBase b m, GHC.Base.Monoid w) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.Writer.Ref.WriterRefT ref w)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.Trans.Writer.Ref.WriterRefT ref w)
+ Control.Monad.Trans.Writer.Ref: instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
+ Control.Monad.Trans.Writer.Ref: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.Writer.Ref.WriterRefT ref w m)
- Control.Monad.Trans.Unlift: askRunBase :: MonadBaseUnlift b m => m (m a -> b a)
+ Control.Monad.Trans.Unlift: askRunBase :: (MonadBaseUnlift b m) => m (m a -> b a)
- Control.Monad.Trans.Unlift: askUnliftBase :: MonadBaseUnlift b m => m (UnliftBase b m)
+ Control.Monad.Trans.Unlift: askUnliftBase :: (MonadBaseUnlift b m) => m (UnliftBase b m)
Files
- Control/Monad/Trans/Unlift.hs +14/−10
- monad-unlift.cabal +1/−1
Control/Monad/Trans/Unlift.hs view
@@ -1,13 +1,17 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE FunctionalDependencies #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-}-{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-}+#if __GLASGOW_HASKELL__ >= 800+{-# LANGUAGE UndecidableSuperClasses #-}+#endif -- | See overview in the README.md module Control.Monad.Trans.Unlift ( -- * Trans
monad-unlift.cabal view
@@ -1,5 +1,5 @@ name: monad-unlift-version: 0.1.1.0+version: 0.1.2.0 synopsis: Typeclasses for representing monad transformer unlifting description: See README.md homepage: https://github.com/fpco/monad-unlift