MonadCompose-0.9.0.0: Methods for composing monads.

Safe HaskellSafe
LanguageHaskell98

Control.Monad.EtaInverse

Description

Eta inverses for some vernacular monads.

Documentation

class Monad f => EtaInverse f where Source #

Methods

etaInv :: f t -> Maybe t Source #

Instances
EtaInverse [] Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: [t] -> Maybe t Source #

EtaInverse Maybe Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: Maybe t -> Maybe t Source #

EtaInverse Identity Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: Identity t -> Maybe t Source #

(Monoid s, Eq s) => EtaInverse ((,) s) Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: (s, t) -> Maybe t Source #

EtaInverse f => EtaInverse (MaybeT f) Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: MaybeT f t -> Maybe t Source #

Functor f => EtaInverse (Free f) Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: Free f t -> Maybe t Source #

(Functor f, EtaInverse f2) => EtaInverse (FreeT f f2) Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: FreeT f f2 t -> Maybe t Source #

(Monoid s, Eq s, EtaInverse f) => EtaInverse (WriterT s f) Source # 
Instance details

Defined in Control.Monad.EtaInverse

Methods

etaInv :: WriterT s f t -> Maybe t Source #