monadology-0.3: The best ideas in monad-related classes and types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Ology.Specific.WithT

Documentation

newtype WithT m a Source #

Constructors

MkWithT 

Fields

Instances

Instances details
TransConstraint MonadIO (WithT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

hasTransConstraint :: forall (m :: Type -> Type). MonadIO m => Dict (MonadIO (WithT m)) Source #

TransConstraint Applicative (WithT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

hasTransConstraint :: forall (m :: Type -> Type). Applicative m => Dict (Applicative (WithT m)) Source #

TransConstraint Functor (WithT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

hasTransConstraint :: forall (m :: Type -> Type). Functor m => Dict (Functor (WithT m)) Source #

TransConstraint Monad (WithT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

hasTransConstraint :: forall (m :: Type -> Type). Monad m => Dict (Monad (WithT m)) Source #

MonadCatch e m => MonadCatch e (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

catch :: WithT m a -> (e -> WithT m a) -> WithT m a Source #

MonadThrow e m => MonadThrow e (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

throw :: e -> WithT m a Source #

MonadTrans (WithT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

lift :: Monad m => m a -> WithT m a #

MonadFix m => MonadFix (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

mfix :: (a -> WithT m a) -> WithT m a #

MonadIO m => MonadIO (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

liftIO :: IO a -> WithT m a #

Applicative (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

pure :: a -> WithT m a #

(<*>) :: WithT m (a -> b) -> WithT m a -> WithT m b #

liftA2 :: (a -> b -> c) -> WithT m a -> WithT m b -> WithT m c #

(*>) :: WithT m a -> WithT m b -> WithT m b #

(<*) :: WithT m a -> WithT m b -> WithT m a #

Functor (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

fmap :: (a -> b) -> WithT m a -> WithT m b #

(<$) :: a -> WithT m b -> WithT m a #

Monad (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

(>>=) :: WithT m a -> (a -> WithT m b) -> WithT m b #

(>>) :: WithT m a -> WithT m b -> WithT m b #

return :: a -> WithT m a #

MonadException m => MonadException (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Associated Types

type Exc (WithT m) Source #

Methods

throwExc :: Exc (WithT m) -> WithT m a Source #

catchExc :: WithT m a -> (Exc (WithT m) -> WithT m a) -> WithT m a Source #

(MonadHoistIO m, MonadCoroutine m) => MonadHoistIO (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

hoistIO :: (IO --> IO) -> WithT m --> WithT m Source #

Monoid a => Monoid (WithT m a) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

mempty :: WithT m a #

mappend :: WithT m a -> WithT m a -> WithT m a #

mconcat :: [WithT m a] -> WithT m a #

Semigroup a => Semigroup (WithT m a) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

Methods

(<>) :: WithT m a -> WithT m a -> WithT m a #

sconcat :: NonEmpty (WithT m a) -> WithT m a #

stimes :: Integral b => b -> WithT m a -> WithT m a #

type Exc (WithT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WithT

type Exc (WithT m) = Exc m

unpickWithT :: forall m a. MonadCoroutine m => WithT m a -> m (a, m ()) Source #

pickWithT :: forall m a. Monad m => m (a, m ()) -> WithT m a Source #

mapWithT :: (m --> m) -> WithT m () Source #

postWithT :: Monad m => m () -> WithT m () Source #

withTMap :: WithT m () -> m --> m Source #

execMapWithT :: Monad m => m (WithT m a) -> WithT m a Source #

withParamRef :: forall m. Monad m => Param m --> Ref (WithT m) Source #

liftWithT :: forall t m. (MonadTransUnlift t, MonadTunnelIO m) => WithT m --> WithT (t m) Source #