adjunctions-4.4.2: 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-Inferred
LanguageHaskell2010

Control.Comonad.Trans.Adjoint

Description

 

Documentation

type Adjoint (f :: Type -> Type) (g :: Type -> Type) = AdjointT f g Identity Source #

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

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

newtype AdjointT (f :: Type -> Type) (g :: Type -> Type) (w :: Type -> Type) a Source #

Constructors

AdjointT 

Fields

Instances

Instances details
(Adjunction f g, Distributive g) => ComonadTrans (AdjointT f g) Source # 
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) Source # 
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) Source # 
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) Source # 
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 #