adjunctions-0.3: Adjunctions

PortabilityMPTCs, fundeps
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Monad.Contra

Description

Use a contravariant adjunction to Hask^op to build a Comonad to Monad transformer.

Documentation

runContra :: Contravariant g => Contra f g a -> g (f a)Source

contra :: Contravariant g => g (f a) -> Contra f g aSource

newtype ContraT f g w a Source

Constructors

ContraT 

Fields

runContraT :: g (w (f a))
 

Instances

(Adjunction f g, Comonad w) => Monad (ContraT f g w) 
(Adjunction f g, Functor w) => Functor (ContraT f g w) 
(Adjunction f g, Comonad w) => Applicative (ContraT f g w)