profunctors-5.6: Profunctors

Copyright(C) 2014-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Profunctor.Monad

Description

 
Synopsis

Documentation

class ProfunctorFunctor t where Source #

ProfunctorFunctor has a polymorphic kind since 5.6.

Methods

promap :: Profunctor p => (p :-> q) -> t p :-> t q Source #

Laws:

promap f . promap g ≡ promap (f . g)
promap idid
Instances
ProfunctorFunctor (Ran p :: (Type -> Type -> Type) -> k -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Ran

Methods

promap :: Profunctor p0 => (p0 :-> q) -> Ran p p0 :-> Ran p q Source #

ProfunctorFunctor (Procompose p :: (Type -> Type -> Type) -> Type -> k -> Type) Source # 
Instance details

Defined in Data.Profunctor.Composition

Methods

promap :: Profunctor p0 => (p0 :-> q) -> Procompose p p0 :-> Procompose p q Source #

ProfunctorFunctor (Rift p :: (Type -> Type -> Type) -> Type -> k -> Type) Source # 
Instance details

Defined in Data.Profunctor.Composition

Methods

promap :: Profunctor p0 => (p0 :-> q) -> Rift p p0 :-> Rift p q Source #

ProfunctorFunctor Copastro Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

promap :: Profunctor p => (p :-> q) -> Copastro p :-> Copastro q Source #

ProfunctorFunctor Cotambara Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

promap :: Profunctor p => (p :-> q) -> Cotambara p :-> Cotambara q Source #

ProfunctorFunctor Pastro Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

promap :: Profunctor p => (p :-> q) -> Pastro p :-> Pastro q Source #

ProfunctorFunctor Tambara Source # 
Instance details

Defined in Data.Profunctor.Strong

Methods

promap :: Profunctor p => (p :-> q) -> Tambara p :-> Tambara q Source #

ProfunctorFunctor Environment Source # 
Instance details

Defined in Data.Profunctor.Closed

Methods

promap :: Profunctor p => (p :-> q) -> Environment p :-> Environment q Source #

ProfunctorFunctor Closure Source # 
Instance details

Defined in Data.Profunctor.Closed

Methods

promap :: Profunctor p => (p :-> q) -> Closure p :-> Closure q Source #

ProfunctorFunctor CopastroSum Source # 
Instance details

Defined in Data.Profunctor.Choice

Methods

promap :: Profunctor p => (p :-> q) -> CopastroSum p :-> CopastroSum q Source #

ProfunctorFunctor CotambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

ProfunctorFunctor PastroSum Source # 
Instance details

Defined in Data.Profunctor.Choice

Methods

promap :: Profunctor p => (p :-> q) -> PastroSum p :-> PastroSum q Source #

ProfunctorFunctor TambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

Methods

promap :: Profunctor p => (p :-> q) -> TambaraSum p :-> TambaraSum q Source #

ProfunctorFunctor FreeTraversing Source # 
Instance details

Defined in Data.Profunctor.Traversing

ProfunctorFunctor CofreeTraversing Source # 
Instance details

Defined in Data.Profunctor.Traversing

ProfunctorFunctor FreeMapping Source # 
Instance details

Defined in Data.Profunctor.Mapping

Methods

promap :: Profunctor p => (p :-> q) -> FreeMapping p :-> FreeMapping q Source #

ProfunctorFunctor CofreeMapping Source # 
Instance details

Defined in Data.Profunctor.Mapping

ProfunctorFunctor Coyoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

promap :: Profunctor p => (p :-> q) -> Coyoneda p :-> Coyoneda q Source #

ProfunctorFunctor Yoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

promap :: Profunctor p => (p :-> q) -> Yoneda p :-> Yoneda q Source #

ProfunctorFunctor (Sum p :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Monad

Methods

promap :: Profunctor p0 => (p0 :-> q) -> Sum p p0 :-> Sum p q Source #

ProfunctorFunctor (Product p :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Monad

Methods

promap :: Profunctor p0 => (p0 :-> q) -> Product p p0 :-> Product p q Source #

Functor f => ProfunctorFunctor (Tannen f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Monad

Methods

promap :: Profunctor p => (p :-> q) -> Tannen f p :-> Tannen f q Source #

Functor f => ProfunctorFunctor (Cayley f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Cayley

Methods

promap :: Profunctor p => (p :-> q) -> Cayley f p :-> Cayley f q Source #

class ProfunctorFunctor t => ProfunctorMonad t where Source #

Methods

proreturn :: Profunctor p => p :-> t p Source #

projoin :: Profunctor p => t (t p) :-> t p Source #

Instances
ProfunctorMonad Copastro Source # 
Instance details

Defined in Data.Profunctor.Strong

ProfunctorMonad Pastro Source # 
Instance details

Defined in Data.Profunctor.Strong

ProfunctorMonad Environment Source # 
Instance details

Defined in Data.Profunctor.Closed

ProfunctorMonad CopastroSum Source # 
Instance details

Defined in Data.Profunctor.Choice

ProfunctorMonad PastroSum Source # 
Instance details

Defined in Data.Profunctor.Choice

ProfunctorMonad FreeTraversing Source # 
Instance details

Defined in Data.Profunctor.Traversing

ProfunctorMonad FreeMapping Source # 
Instance details

Defined in Data.Profunctor.Mapping

ProfunctorMonad Coyoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

ProfunctorMonad Yoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

ProfunctorMonad (Sum p) Source # 
Instance details

Defined in Data.Profunctor.Monad

Methods

proreturn :: Profunctor p0 => p0 :-> Sum p p0 Source #

projoin :: Profunctor p0 => Sum p (Sum p p0) :-> Sum p p0 Source #

Monad f => ProfunctorMonad (Tannen f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Monad

Category p => ProfunctorMonad (Procompose p :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Composition

(Functor f, Monad f) => ProfunctorMonad (Cayley f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source #

Cayley transforms Monads in Hask into monads on Prof

Instance details

Defined in Data.Profunctor.Cayley

class ProfunctorFunctor t => ProfunctorComonad t where Source #

Methods

proextract :: Profunctor p => t p :-> p Source #

produplicate :: Profunctor p => t p :-> t (t p) Source #

Instances
ProfunctorComonad Cotambara Source # 
Instance details

Defined in Data.Profunctor.Strong

ProfunctorComonad Tambara Source # 
Instance details

Defined in Data.Profunctor.Strong

ProfunctorComonad Closure Source # 
Instance details

Defined in Data.Profunctor.Closed

ProfunctorComonad CotambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

ProfunctorComonad TambaraSum Source # 
Instance details

Defined in Data.Profunctor.Choice

ProfunctorComonad CofreeTraversing Source # 
Instance details

Defined in Data.Profunctor.Traversing

ProfunctorComonad CofreeMapping Source # 
Instance details

Defined in Data.Profunctor.Mapping

ProfunctorComonad Coyoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

ProfunctorComonad Yoneda Source # 
Instance details

Defined in Data.Profunctor.Yoneda

ProfunctorComonad (Product p) Source # 
Instance details

Defined in Data.Profunctor.Monad

Comonad f => ProfunctorComonad (Tannen f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Monad

Category p => ProfunctorComonad (Rift p :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Composition

Methods

proextract :: Profunctor p0 => Rift p p0 :-> p0 Source #

produplicate :: Profunctor p0 => Rift p p0 :-> Rift p (Rift p p0) Source #

Category p => ProfunctorComonad (Ran p :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # 
Instance details

Defined in Data.Profunctor.Ran

Methods

proextract :: Profunctor p0 => Ran p p0 :-> p0 Source #

produplicate :: Profunctor p0 => Ran p p0 :-> Ran p (Ran p p0) Source #

Comonad f => ProfunctorComonad (Cayley f :: (Type -> Type -> Type) -> Type -> Type -> Type) Source #

Cayley transforms Comonads in Hask into comonads on Prof

Instance details

Defined in Data.Profunctor.Cayley