in-other-words-0.1.0.0: A higher-order effect system where the sky's the limit

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Internal.Writer

Synopsis

Documentation

data Tell s m a where Source #

An effect for arbitrary output.

Constructors

Tell :: s -> Tell s m () 
Instances
(Monoid w, Carrier m, Threaders (SteppedThreads ': ([] :: [[Effect] -> Constraint])) m p) => PrimHandler ListenSteppedH (ListenPrim w) (SteppedC (Tell w :: (Type -> Type) -> Type -> Type) m) Source # 
Instance details

Defined in Control.Effect.Internal.Intercept

data Listen s m a where Source #

An effect for hearing what a computation has to tell.

Constructors

Listen :: m a -> Listen s m (s, a) 
Instances
Eff (ListenPrim w) m => Handler ListenSteppedH (Listen w) m Source # 
Instance details

Defined in Control.Effect.Internal.Intercept

data Pass s m a where Source #

An effect for altering what a computation tells.

Constructors

Pass :: m (s -> s, a) -> Pass s m a 

newtype TellC s m a Source #

Constructors

TellC 

Fields

Instances
MonadBase b m => MonadBase b (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> TellC s m α #

(MonadBaseControl b m, Monoid s) => MonadBaseControl b (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (TellC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (TellC s m) b -> b a) -> TellC s m a #

restoreM :: StM (TellC s m) a -> TellC s m a #

MonadTrans (TellC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> TellC s m a #

Monoid s => MonadTransControl (TellC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (TellC s) a :: Type #

Methods

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

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

Monad m => Monad (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: TellC s m a -> (a -> TellC s m b) -> TellC s m b #

(>>) :: TellC s m a -> TellC s m b -> TellC s m b #

return :: a -> TellC s m a #

fail :: String -> TellC s m a #

Functor m => Functor (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> TellC s m a -> TellC s m b #

(<$) :: a -> TellC s m b -> TellC s m a #

MonadFix m => MonadFix (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> TellC s m a) -> TellC s m a #

MonadFail m => MonadFail (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> TellC s m a #

Monad m => Applicative (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> TellC s m a #

(<*>) :: TellC s m (a -> b) -> TellC s m a -> TellC s m b #

liftA2 :: (a -> b -> c) -> TellC s m a -> TellC s m b -> TellC s m c #

(*>) :: TellC s m a -> TellC s m b -> TellC s m b #

(<*) :: TellC s m a -> TellC s m b -> TellC s m a #

MonadIO m => MonadIO (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> TellC s m a #

MonadPlus m => Alternative (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: TellC s m a #

(<|>) :: TellC s m a -> TellC s m a -> TellC s m a #

some :: TellC s m a -> TellC s m [a] #

many :: TellC s m a -> TellC s m [a] #

MonadPlus m => MonadPlus (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: TellC s m a #

mplus :: TellC s m a -> TellC s m a -> TellC s m a #

MonadThrow m => MonadThrow (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> TellC s m a #

(Monoid s, MonadCatch m) => MonadCatch (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => TellC s m a -> (e -> TellC s m a) -> TellC s m a #

(Monoid s, MonadMask m) => MonadMask (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. TellC s m a -> TellC s m a) -> TellC s m b) -> TellC s m b #

uninterruptibleMask :: ((forall a. TellC s m a -> TellC s m a) -> TellC s m b) -> TellC s m b #

generalBracket :: TellC s m a -> (a -> ExitCase b -> TellC s m c) -> (a -> TellC s m b) -> TellC s m (b, c) #

(Carrier m, Monoid s, Threads (WriterT s) (Prims m)) => Carrier (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (TellC s m) :: [Effect] Source #

type Prims (TellC s m) :: [Effect] Source #

Methods

algPrims :: Algebra' (Prims (TellC s m)) (TellC s m) a Source #

reformulate :: Monad z => Reformulation' (Derivs (TellC s m)) (Prims (TellC s m)) (TellC s m) z a Source #

algDerivs :: Algebra' (Derivs (TellC s m)) (TellC s m) a Source #

type StT (TellC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (TellC s) a = (a, s)
type Derivs (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (TellC s m) = (Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m
type Prims (TellC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (TellC s m) = Prims m
type StM (TellC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (TellC s m) a = StM m (a, s)

newtype ListenC s m a Source #

Constructors

ListenC 

Fields

Instances
MonadBase b m => MonadBase b (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> ListenC s m α #

(MonadBaseControl b m, Monoid s) => MonadBaseControl b (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (ListenC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (ListenC s m) b -> b a) -> ListenC s m a #

restoreM :: StM (ListenC s m) a -> ListenC s m a #

MonadTrans (ListenC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> ListenC s m a #

Monoid s => MonadTransControl (ListenC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (ListenC s) a :: Type #

Methods

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

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

Monad m => Monad (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: ListenC s m a -> (a -> ListenC s m b) -> ListenC s m b #

(>>) :: ListenC s m a -> ListenC s m b -> ListenC s m b #

return :: a -> ListenC s m a #

fail :: String -> ListenC s m a #

Functor m => Functor (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> ListenC s m a -> ListenC s m b #

(<$) :: a -> ListenC s m b -> ListenC s m a #

MonadFix m => MonadFix (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> ListenC s m a) -> ListenC s m a #

MonadFail m => MonadFail (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> ListenC s m a #

Monad m => Applicative (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> ListenC s m a #

(<*>) :: ListenC s m (a -> b) -> ListenC s m a -> ListenC s m b #

liftA2 :: (a -> b -> c) -> ListenC s m a -> ListenC s m b -> ListenC s m c #

(*>) :: ListenC s m a -> ListenC s m b -> ListenC s m b #

(<*) :: ListenC s m a -> ListenC s m b -> ListenC s m a #

MonadIO m => MonadIO (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> ListenC s m a #

MonadPlus m => Alternative (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: ListenC s m a #

(<|>) :: ListenC s m a -> ListenC s m a -> ListenC s m a #

some :: ListenC s m a -> ListenC s m [a] #

many :: ListenC s m a -> ListenC s m [a] #

MonadPlus m => MonadPlus (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: ListenC s m a #

mplus :: ListenC s m a -> ListenC s m a -> ListenC s m a #

MonadThrow m => MonadThrow (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> ListenC s m a #

(Monoid s, MonadCatch m) => MonadCatch (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => ListenC s m a -> (e -> ListenC s m a) -> ListenC s m a #

(Monoid s, MonadMask m) => MonadMask (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. ListenC s m a -> ListenC s m a) -> ListenC s m b) -> ListenC s m b #

uninterruptibleMask :: ((forall a. ListenC s m a -> ListenC s m a) -> ListenC s m b) -> ListenC s m b #

generalBracket :: ListenC s m a -> (a -> ExitCase b -> ListenC s m c) -> (a -> ListenC s m b) -> ListenC s m (b, c) #

(Carrier m, Monoid s, Threads (WriterT s) (Prims m)) => Carrier (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (ListenC s m) :: [Effect] Source #

type Prims (ListenC s m) :: [Effect] Source #

type StT (ListenC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (ListenC s) a = StT (TellC s) a
type Derivs (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (ListenC s m) = Listen s ': ((Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m)
type Prims (ListenC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (ListenC s m) = ListenPrim s ': Prims m
type StM (ListenC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (ListenC s m) a = StM (TellC s m) a

newtype WriterC s m a Source #

Constructors

WriterC 

Fields

Instances
MonadBase b m => MonadBase b (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> WriterC s m α #

(MonadBaseControl b m, Monoid s) => MonadBaseControl b (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (WriterC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (WriterC s m) b -> b a) -> WriterC s m a #

restoreM :: StM (WriterC s m) a -> WriterC s m a #

MonadTrans (WriterC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> WriterC s m a #

Monoid s => MonadTransControl (WriterC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (WriterC s) a :: Type #

Methods

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

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

Monad m => Monad (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: WriterC s m a -> (a -> WriterC s m b) -> WriterC s m b #

(>>) :: WriterC s m a -> WriterC s m b -> WriterC s m b #

return :: a -> WriterC s m a #

fail :: String -> WriterC s m a #

Functor m => Functor (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> WriterC s m a -> WriterC s m b #

(<$) :: a -> WriterC s m b -> WriterC s m a #

MonadFix m => MonadFix (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> WriterC s m a) -> WriterC s m a #

MonadFail m => MonadFail (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> WriterC s m a #

Monad m => Applicative (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> WriterC s m a #

(<*>) :: WriterC s m (a -> b) -> WriterC s m a -> WriterC s m b #

liftA2 :: (a -> b -> c) -> WriterC s m a -> WriterC s m b -> WriterC s m c #

(*>) :: WriterC s m a -> WriterC s m b -> WriterC s m b #

(<*) :: WriterC s m a -> WriterC s m b -> WriterC s m a #

MonadIO m => MonadIO (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> WriterC s m a #

MonadPlus m => Alternative (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: WriterC s m a #

(<|>) :: WriterC s m a -> WriterC s m a -> WriterC s m a #

some :: WriterC s m a -> WriterC s m [a] #

many :: WriterC s m a -> WriterC s m [a] #

MonadPlus m => MonadPlus (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: WriterC s m a #

mplus :: WriterC s m a -> WriterC s m a -> WriterC s m a #

MonadThrow m => MonadThrow (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> WriterC s m a #

(Monoid s, MonadCatch m) => MonadCatch (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => WriterC s m a -> (e -> WriterC s m a) -> WriterC s m a #

(Monoid s, MonadMask m) => MonadMask (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. WriterC s m a -> WriterC s m a) -> WriterC s m b) -> WriterC s m b #

uninterruptibleMask :: ((forall a. WriterC s m a -> WriterC s m a) -> WriterC s m b) -> WriterC s m b #

generalBracket :: WriterC s m a -> (a -> ExitCase b -> WriterC s m c) -> (a -> WriterC s m b) -> WriterC s m (b, c) #

(Carrier m, Monoid s, Threads (WriterT s) (Prims m)) => Carrier (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (WriterC s m) :: [Effect] Source #

type Prims (WriterC s m) :: [Effect] Source #

type StT (WriterC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (WriterC s) a = StT (TellC s) a
type Derivs (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (WriterC s m) = Pass s ': (Listen s ': ((Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m))
type Prims (WriterC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (WriterC s m) = WriterPrim s ': Prims m
type StM (WriterC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (WriterC s m) a = StM (TellC s m) a

newtype TellLazyC s m a Source #

Constructors

TellLazyC 

Fields

Instances
(Monoid s, MonadBase b m) => MonadBase b (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> TellLazyC s m α #

(Monoid s, MonadBaseControl b m) => MonadBaseControl b (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (TellLazyC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (TellLazyC s m) b -> b a) -> TellLazyC s m a #

restoreM :: StM (TellLazyC s m) a -> TellLazyC s m a #

Monoid s => MonadTrans (TellLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> TellLazyC s m a #

Monoid s => MonadTransControl (TellLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (TellLazyC s) a :: Type #

Methods

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

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

(Monoid s, Monad m) => Monad (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: TellLazyC s m a -> (a -> TellLazyC s m b) -> TellLazyC s m b #

(>>) :: TellLazyC s m a -> TellLazyC s m b -> TellLazyC s m b #

return :: a -> TellLazyC s m a #

fail :: String -> TellLazyC s m a #

Functor m => Functor (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> TellLazyC s m a -> TellLazyC s m b #

(<$) :: a -> TellLazyC s m b -> TellLazyC s m a #

(Monoid s, MonadFix m) => MonadFix (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> TellLazyC s m a) -> TellLazyC s m a #

(Monoid s, MonadFail m) => MonadFail (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> TellLazyC s m a #

(Monoid s, Applicative m) => Applicative (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> TellLazyC s m a #

(<*>) :: TellLazyC s m (a -> b) -> TellLazyC s m a -> TellLazyC s m b #

liftA2 :: (a -> b -> c) -> TellLazyC s m a -> TellLazyC s m b -> TellLazyC s m c #

(*>) :: TellLazyC s m a -> TellLazyC s m b -> TellLazyC s m b #

(<*) :: TellLazyC s m a -> TellLazyC s m b -> TellLazyC s m a #

(Monoid s, MonadIO m) => MonadIO (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> TellLazyC s m a #

(Monoid s, Alternative m) => Alternative (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: TellLazyC s m a #

(<|>) :: TellLazyC s m a -> TellLazyC s m a -> TellLazyC s m a #

some :: TellLazyC s m a -> TellLazyC s m [a] #

many :: TellLazyC s m a -> TellLazyC s m [a] #

(Monoid s, MonadPlus m) => MonadPlus (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: TellLazyC s m a #

mplus :: TellLazyC s m a -> TellLazyC s m a -> TellLazyC s m a #

(MonadThrow m, Monoid s) => MonadThrow (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> TellLazyC s m a #

(MonadCatch m, Monoid s) => MonadCatch (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => TellLazyC s m a -> (e -> TellLazyC s m a) -> TellLazyC s m a #

(MonadMask m, Monoid s) => MonadMask (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. TellLazyC s m a -> TellLazyC s m a) -> TellLazyC s m b) -> TellLazyC s m b #

uninterruptibleMask :: ((forall a. TellLazyC s m a -> TellLazyC s m a) -> TellLazyC s m b) -> TellLazyC s m b #

generalBracket :: TellLazyC s m a -> (a -> ExitCase b -> TellLazyC s m c) -> (a -> TellLazyC s m b) -> TellLazyC s m (b, c) #

(Monoid s, Carrier m, Threads (WriterT s) (Prims m)) => Carrier (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (TellLazyC s m) :: [Effect] Source #

type Prims (TellLazyC s m) :: [Effect] Source #

type StT (TellLazyC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (TellLazyC s) a = StT (WriterT s) a
type Derivs (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (TellLazyC s m) = (Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m
type Prims (TellLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (TellLazyC s m) = Prims m
type StM (TellLazyC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (TellLazyC s m) a = StM (WriterT s m) a

newtype ListenLazyC s m a Source #

Constructors

ListenLazyC 

Fields

Instances
(Monoid s, MonadBase b m) => MonadBase b (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> ListenLazyC s m α #

(Monoid s, MonadBaseControl b m) => MonadBaseControl b (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (ListenLazyC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (ListenLazyC s m) b -> b a) -> ListenLazyC s m a #

restoreM :: StM (ListenLazyC s m) a -> ListenLazyC s m a #

Monoid s => MonadTrans (ListenLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> ListenLazyC s m a #

Monoid s => MonadTransControl (ListenLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (ListenLazyC s) a :: Type #

Methods

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

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

(Monoid s, Monad m) => Monad (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: ListenLazyC s m a -> (a -> ListenLazyC s m b) -> ListenLazyC s m b #

(>>) :: ListenLazyC s m a -> ListenLazyC s m b -> ListenLazyC s m b #

return :: a -> ListenLazyC s m a #

fail :: String -> ListenLazyC s m a #

Functor m => Functor (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> ListenLazyC s m a -> ListenLazyC s m b #

(<$) :: a -> ListenLazyC s m b -> ListenLazyC s m a #

(Monoid s, MonadFix m) => MonadFix (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> ListenLazyC s m a) -> ListenLazyC s m a #

(Monoid s, MonadFail m) => MonadFail (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> ListenLazyC s m a #

(Monoid s, Applicative m) => Applicative (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> ListenLazyC s m a #

(<*>) :: ListenLazyC s m (a -> b) -> ListenLazyC s m a -> ListenLazyC s m b #

liftA2 :: (a -> b -> c) -> ListenLazyC s m a -> ListenLazyC s m b -> ListenLazyC s m c #

(*>) :: ListenLazyC s m a -> ListenLazyC s m b -> ListenLazyC s m b #

(<*) :: ListenLazyC s m a -> ListenLazyC s m b -> ListenLazyC s m a #

(Monoid s, MonadIO m) => MonadIO (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> ListenLazyC s m a #

(Monoid s, Alternative m) => Alternative (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: ListenLazyC s m a #

(<|>) :: ListenLazyC s m a -> ListenLazyC s m a -> ListenLazyC s m a #

some :: ListenLazyC s m a -> ListenLazyC s m [a] #

many :: ListenLazyC s m a -> ListenLazyC s m [a] #

(Monoid s, MonadPlus m) => MonadPlus (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: ListenLazyC s m a #

mplus :: ListenLazyC s m a -> ListenLazyC s m a -> ListenLazyC s m a #

(MonadThrow m, Monoid s) => MonadThrow (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> ListenLazyC s m a #

(MonadCatch m, Monoid s) => MonadCatch (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => ListenLazyC s m a -> (e -> ListenLazyC s m a) -> ListenLazyC s m a #

(MonadMask m, Monoid s) => MonadMask (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. ListenLazyC s m a -> ListenLazyC s m a) -> ListenLazyC s m b) -> ListenLazyC s m b #

uninterruptibleMask :: ((forall a. ListenLazyC s m a -> ListenLazyC s m a) -> ListenLazyC s m b) -> ListenLazyC s m b #

generalBracket :: ListenLazyC s m a -> (a -> ExitCase b -> ListenLazyC s m c) -> (a -> ListenLazyC s m b) -> ListenLazyC s m (b, c) #

(Monoid s, Carrier m, Threads (WriterT s) (Prims m)) => Carrier (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (ListenLazyC s m) :: [Effect] Source #

type Prims (ListenLazyC s m) :: [Effect] Source #

type StT (ListenLazyC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (ListenLazyC s) a = StT (WriterT s) a
type Derivs (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (ListenLazyC s m) = Listen s ': ((Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m)
type Prims (ListenLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (ListenLazyC s m) = ListenPrim s ': Prims m
type StM (ListenLazyC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (ListenLazyC s m) a = StM (WriterT s m) a

newtype WriterLazyC s m a Source #

Constructors

WriterLazyC 

Fields

Instances
(Monoid s, MonadBase b m) => MonadBase b (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftBase :: b α -> WriterLazyC s m α #

(Monoid s, MonadBaseControl b m) => MonadBaseControl b (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StM (WriterLazyC s m) a :: Type #

Methods

liftBaseWith :: (RunInBase (WriterLazyC s m) b -> b a) -> WriterLazyC s m a #

restoreM :: StM (WriterLazyC s m) a -> WriterLazyC s m a #

Monoid s => MonadTrans (WriterLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

lift :: Monad m => m a -> WriterLazyC s m a #

Monoid s => MonadTransControl (WriterLazyC s) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type StT (WriterLazyC s) a :: Type #

Methods

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

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

(Monoid s, Monad m) => Monad (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

(>>=) :: WriterLazyC s m a -> (a -> WriterLazyC s m b) -> WriterLazyC s m b #

(>>) :: WriterLazyC s m a -> WriterLazyC s m b -> WriterLazyC s m b #

return :: a -> WriterLazyC s m a #

fail :: String -> WriterLazyC s m a #

Functor m => Functor (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fmap :: (a -> b) -> WriterLazyC s m a -> WriterLazyC s m b #

(<$) :: a -> WriterLazyC s m b -> WriterLazyC s m a #

(Monoid s, MonadFix m) => MonadFix (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mfix :: (a -> WriterLazyC s m a) -> WriterLazyC s m a #

(Monoid s, MonadFail m) => MonadFail (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

fail :: String -> WriterLazyC s m a #

(Monoid s, Applicative m) => Applicative (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

pure :: a -> WriterLazyC s m a #

(<*>) :: WriterLazyC s m (a -> b) -> WriterLazyC s m a -> WriterLazyC s m b #

liftA2 :: (a -> b -> c) -> WriterLazyC s m a -> WriterLazyC s m b -> WriterLazyC s m c #

(*>) :: WriterLazyC s m a -> WriterLazyC s m b -> WriterLazyC s m b #

(<*) :: WriterLazyC s m a -> WriterLazyC s m b -> WriterLazyC s m a #

(Monoid s, MonadIO m) => MonadIO (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

liftIO :: IO a -> WriterLazyC s m a #

(Monoid s, Alternative m) => Alternative (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

empty :: WriterLazyC s m a #

(<|>) :: WriterLazyC s m a -> WriterLazyC s m a -> WriterLazyC s m a #

some :: WriterLazyC s m a -> WriterLazyC s m [a] #

many :: WriterLazyC s m a -> WriterLazyC s m [a] #

(Monoid s, MonadPlus m) => MonadPlus (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mzero :: WriterLazyC s m a #

mplus :: WriterLazyC s m a -> WriterLazyC s m a -> WriterLazyC s m a #

(MonadThrow m, Monoid s) => MonadThrow (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

throwM :: Exception e => e -> WriterLazyC s m a #

(MonadCatch m, Monoid s) => MonadCatch (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

catch :: Exception e => WriterLazyC s m a -> (e -> WriterLazyC s m a) -> WriterLazyC s m a #

(MonadMask m, Monoid s) => MonadMask (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Methods

mask :: ((forall a. WriterLazyC s m a -> WriterLazyC s m a) -> WriterLazyC s m b) -> WriterLazyC s m b #

uninterruptibleMask :: ((forall a. WriterLazyC s m a -> WriterLazyC s m a) -> WriterLazyC s m b) -> WriterLazyC s m b #

generalBracket :: WriterLazyC s m a -> (a -> ExitCase b -> WriterLazyC s m c) -> (a -> WriterLazyC s m b) -> WriterLazyC s m (b, c) #

(Monoid s, Carrier m, Threads (WriterT s) (Prims m)) => Carrier (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

Associated Types

type Derivs (WriterLazyC s m) :: [Effect] Source #

type Prims (WriterLazyC s m) :: [Effect] Source #

type StT (WriterLazyC s) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StT (WriterLazyC s) a = StT (WriterT s) a
type Derivs (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Derivs (WriterLazyC s m) = Pass s ': (Listen s ': ((Tell s :: (Type -> Type) -> Type -> Type) ': Derivs m))
type Prims (WriterLazyC s m) Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type Prims (WriterLazyC s m) = WriterPrim s ': Prims m
type StM (WriterLazyC s m) a Source # 
Instance details

Defined in Control.Effect.Internal.Writer

type StM (WriterLazyC s m) a = StM (WriterT s m) a

class (forall s. Monoid s => Threads (WriterT s) p) => WriterThreads p Source #

WriterThreads accepts the following primitive effects:

Instances
(forall s. Monoid s => Threads (WriterT s) p) => WriterThreads p Source # 
Instance details

Defined in Control.Effect.Internal.Writer

class (forall s. Monoid s => Threads (WriterT s) p) => WriterLazyThreads p Source #

WriterLazyThreads accepts the following primitive effects:

Instances
(forall s. Monoid s => Threads (WriterT s) p) => WriterLazyThreads p Source # 
Instance details

Defined in Control.Effect.Internal.Writer