comonad-5.0.8: Comonads
Copyright(C) 2008-2013 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Control.Comonad.Hoist.Class

Description

 

Documentation

class ComonadHoist t where #

Methods

cohoist :: (Comonad w, Comonad v) => (forall x. w x -> v x) -> t w a -> t v a #

Given any comonad-homomorphism from w to v this yields a comonad homomorphism from t w to t v.

Instances

Instances details
ComonadHoist (IdentityT :: (Type -> Type) -> Type -> Type) # 
Instance details

Defined in Control.Comonad.Hoist.Class

Methods

cohoist :: (Comonad w, Comonad v) => (forall x. w x -> v x) -> IdentityT w a -> IdentityT v a #

ComonadHoist (EnvT e) # 
Instance details

Defined in Control.Comonad.Trans.Env

Methods

cohoist :: (Comonad w, Comonad v) => (forall x. w x -> v x) -> EnvT e w a -> EnvT e v a #

ComonadHoist (StoreT s) # 
Instance details

Defined in Control.Comonad.Trans.Store

Methods

cohoist :: (Comonad w, Comonad v) => (forall x. w x -> v x) -> StoreT s w a -> StoreT s v a #

ComonadHoist (TracedT m) # 
Instance details

Defined in Control.Comonad.Trans.Traced

Methods

cohoist :: (Comonad w, Comonad v) => (forall x. w x -> v x) -> TracedT m w a -> TracedT m v a #