effectful-0.0.0.0: A simple, yet powerful extensible effects library.
Safe HaskellNone
LanguageHaskell2010

Effectful.Class.Writer

Synopsis

Documentation

class Monad m => MonadWriter w m where Source #

Compatiblity layer for a transition period from MTL-style effect handling to Eff.

Minimal complete definition

(writer | tell), listen

Methods

writer :: (a, w) -> m a Source #

tell :: w -> m () Source #

listen :: m a -> m (a, w) Source #

Instances

Instances details
(Writer w :> es, Monoid w) => MonadWriter w (Eff es) Source # 
Instance details

Defined in Effectful.Class.Writer

Methods

writer :: (a, w) -> Eff es a Source #

tell :: w -> Eff es () Source #

listen :: Eff es a -> Eff es (a, w) Source #

(MonadWriter w m, MonadTransControl t, Monad (t m)) => MonadWriter w (t m) Source #

Generic, overlappable instance.

Instance details

Defined in Effectful.Class.Writer

Methods

writer :: (a, w) -> t m a Source #

tell :: w -> t m () Source #

listen :: t m a -> t m (a, w) Source #

listens :: MonadWriter w m => (w -> b) -> m a -> m (a, b) Source #