profunctors-5.5.2: Profunctors

Copyright | (C) 2015 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable, MPTCs, fundeps
Safe Haskell | Safe
Language | Haskell2010

Data.Profunctor.Adjunction

Description

Synopsis

- class (ProfunctorFunctor f, ProfunctorFunctor u) => ProfunctorAdjunction f u | f -> u, u -> f where
  - unit :: Profunctor p => p :-> u (f p)
  - counit :: Profunctor p => f (u p) :-> p

# Documentation

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

Laws:

    unit . counit ≡ id
    counit . unit ≡ id

Methods

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

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

#### Instances

Instances details

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 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 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 (Procompose p) (Rift p) 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 #