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 :: (Type -> Type -> Type) -> Type -> Type -> Type) (u :: (Type -> Type -> Type) -> Type -> Type -> Type) | f -> u, u -> f where Source #

Laws:

unit . counitid
counit . unitid

Methods

unit :: forall (p :: Type -> Type -> Type). Profunctor p => p :-> u (f p) Source #

counit :: forall (p :: Type -> Type -> Type). Profunctor p => f (u p) :-> p Source #

Instances

Instances details
ProfunctorAdjunction CopastroSum CotambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

Methods

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

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

ProfunctorAdjunction PastroSum TambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

Methods

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

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

ProfunctorAdjunction Environment Closure Source # 
Instance details

Defined in Data.Profunctor.Closed

Methods

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

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

ProfunctorAdjunction Copastro Cotambara Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

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

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

ProfunctorAdjunction Pastro Tambara Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

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

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

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

Defined in Data.Profunctor.Composition

Methods

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

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