deriving-trans-0.8.1.0: Derive instances for monad transformer stacks
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Monad.Trans.Compose.Transparent

Synopsis

Documentation

type TransparentT = Elevator NoT Source #

A monad transformer, that passes through all instances via Elevator.

This cannot be defined as a newtype, because we want all the instances, that are defined for Elevator to work for TransparentT.

newtype NoT m a Source #

Warning: This is an implementation detail of TransparentT.

A newtype wrapper around IdentityT.

This is used in TransparentT to encourage the use of runTransparentT.

Constructors

MkNoT

Warning: This is an implementation detail of TransparentT.

Fields

Instances

Instances details
MonadTransControl (NoT :: (TYPE LiftedRep -> Type) -> TYPE LiftedRep -> TYPE LiftedRep) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Associated Types

type StT NoT a #

Methods

liftWith :: Monad m => (Run NoT -> m a) -> NoT m a #

restoreT :: Monad m => m (StT NoT a) -> NoT m a #

MonadTransControlIdentity (NoT :: (TYPE LiftedRep -> Type) -> TYPE LiftedRep -> TYPE LiftedRep) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Methods

liftWithIdentity :: Monad m => ((forall x. NoT m x -> m x) -> m a) -> NoT m a #

MonadTrans (NoT :: (TYPE LiftedRep -> Type) -> TYPE LiftedRep -> TYPE LiftedRep) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Methods

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

Applicative m => Applicative (NoT m) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Methods

pure :: a -> NoT m a #

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

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

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

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

Functor m => Functor (NoT m) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Methods

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

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

Monad m => Monad (NoT m) Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent

Methods

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

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

return :: a -> NoT m a #

type StT (NoT :: (TYPE LiftedRep -> Type) -> TYPE LiftedRep -> TYPE LiftedRep) a Source # 
Instance details

Defined in Control.Monad.Trans.Compose.Transparent