adjunctions-4.4: Adjunctions and representable functors

Copyright(C) 2011-2013 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
PortabilityMPTCs, fundeps
Safe HaskellSafe
LanguageHaskell98

Control.Comonad.Trans.Adjoint

Description

 

Documentation

type Adjoint f g = AdjointT f g Identity #

runAdjoint :: Functor f => Adjoint f g a -> f (g a) #

adjoint :: Functor f => f (g a) -> Adjoint f g a #

newtype AdjointT f g w a #

Constructors

AdjointT 

Fields

Instances
(Adjunction f g, Distributive g) => ComonadTrans (AdjointT f g) # 
Instance details

Defined in Control.Comonad.Trans.Adjoint

Methods

lower :: Comonad w => AdjointT f g w a -> w a #

(Adjunction f g, Functor w) => Functor (AdjointT f g w) # 
Instance details

Defined in Control.Comonad.Trans.Adjoint

Methods

fmap :: (a -> b) -> AdjointT f g w a -> AdjointT f g w b #

(<$) :: a -> AdjointT f g w b -> AdjointT f g w a #

(Adjunction f g, Comonad w) => Comonad (AdjointT f g w) # 
Instance details

Defined in Control.Comonad.Trans.Adjoint

Methods

extract :: AdjointT f g w a -> a #

duplicate :: AdjointT f g w a -> AdjointT f g w (AdjointT f g w a) #

extend :: (AdjointT f g w a -> b) -> AdjointT f g w a -> AdjointT f g w b #

(Adjunction f g, Extend w) => Extend (AdjointT f g w) # 
Instance details

Defined in Control.Comonad.Trans.Adjoint

Methods

duplicated :: AdjointT f g w a -> AdjointT f g w (AdjointT f g w a) #

extended :: (AdjointT f g w a -> b) -> AdjointT f g w a -> AdjointT f g w b #