profunctors-5.6.2: Profunctors
Copyright(C) 2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable, MPTCs, fundeps
Safe HaskellSafe
LanguageHaskell2010

Data.Profunctor.Adjunction

Description

 
Synopsis

Documentation

class (ProfunctorFunctor f, ProfunctorFunctor u) => ProfunctorAdjunction f u | f -> u, u -> f where #

Laws:

unit . counitid
counit . unitid

Methods

unit :: Profunctor p => p :-> u (f p) #

counit :: Profunctor p => f (u p) :-> p #

Instances

Instances details
ProfunctorAdjunction Copastro Cotambara # 
Instance details

Defined in Data.Profunctor.Strong

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> Cotambara (Copastro p) #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => Copastro (Cotambara p) :-> p #

ProfunctorAdjunction Pastro Tambara # 
Instance details

Defined in Data.Profunctor.Strong

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> Tambara (Pastro p) #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => Pastro (Tambara p) :-> p #

ProfunctorAdjunction Environment Closure # 
Instance details

Defined in Data.Profunctor.Closed

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> Closure (Environment p) #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => Environment (Closure p) :-> p #

ProfunctorAdjunction CopastroSum CotambaraSum # 
Instance details

Defined in Data.Profunctor.Choice

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> CotambaraSum (CopastroSum p) #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => CopastroSum (CotambaraSum p) :-> p #

ProfunctorAdjunction PastroSum TambaraSum # 
Instance details

Defined in Data.Profunctor.Choice

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> TambaraSum (PastroSum p) #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => PastroSum (TambaraSum p) :-> p #

ProfunctorAdjunction (Procompose p :: (Type -> Type -> Type) -> Type -> Type -> Type) (Rift p :: (Type -> Type -> Type) -> Type -> Type -> Type) # 
Instance details

Defined in Data.Profunctor.Composition

Methods

unit :: forall (p0 :: Type -> Type -> Type). Profunctor p0 => p0 :-> Rift p (Procompose p p0) #

counit :: forall (p0 :: Type -> Type -> Type). Profunctor p0 => Procompose p (Rift p p0) :-> p0 #