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

Control.Monad.Ology.General.Extract

Synopsis

Documentation

class MonadInner m => MonadExtract m where Source #

Instances of this type are isomorphic to (Q,a) for some type Q (with Monoid Q).

Methods

mToValue :: Extract m Source #

Instances

Instances details
MonadExtract Identity Source # 
Instance details

Defined in Control.Monad.Ology.General.Extract

MonadExtract inner => TransConstraint MonadExtract (ComposeInner inner) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.ComposeInner

Methods

hasTransConstraint :: forall (m :: Type -> Type). MonadExtract m => Dict (MonadExtract (ComposeInner inner m)) Source #

TransConstraint MonadExtract (IdentityT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.IdentityT

Methods

hasTransConstraint :: forall (m :: Type -> Type). MonadExtract m => Dict (MonadExtract (IdentityT m)) Source #

Monoid w => TransConstraint MonadExtract (WriterT w) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WriterT

Methods

hasTransConstraint :: forall (m :: Type -> Type). MonadExtract m => Dict (MonadExtract (WriterT w m)) Source #

MonadExtract (Either Void) Source # 
Instance details

Defined in Control.Monad.Ology.General.Extract

Monoid p => MonadExtract ((,) p) Source # 
Instance details

Defined in Control.Monad.Ology.General.Extract

Methods

mToValue :: Extract ((,) p) Source #

(MonadExtract inner, MonadExtract outer) => MonadExtract (ComposeInner inner outer) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.ComposeInner

Methods

mToValue :: Extract (ComposeInner inner outer) Source #

MonadExtract m => MonadExtract (IdentityT m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.IdentityT

(MonadExtract m, Monoid w) => MonadExtract (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.WriterT

Methods

mToValue :: Extract (WriterT w m) Source #