profunctors-5.2.2: 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 #

Minimal complete definition

promap

Methods

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

Laws:

promap f . promap g ≡ promap (f . g)
promap idid
Instances
ProfunctorFunctor Copastro Source # 
Instance details

Methods

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

ProfunctorFunctor Cotambara Source # 
Instance details

Methods

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

ProfunctorFunctor Pastro Source # 
Instance details

Methods

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

ProfunctorFunctor Tambara Source # 
Instance details

Methods

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

ProfunctorFunctor Environment Source # 
Instance details

Methods

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

ProfunctorFunctor Closure Source # 
Instance details

Methods

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

ProfunctorFunctor CopastroSum Source # 
Instance details

Methods

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

ProfunctorFunctor CotambaraSum Source # 
Instance details
ProfunctorFunctor PastroSum Source # 
Instance details

Methods

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

ProfunctorFunctor TambaraSum Source # 
Instance details

Methods

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

ProfunctorFunctor FreeTraversing Source # 
Instance details
ProfunctorFunctor CofreeTraversing Source # 
Instance details
ProfunctorFunctor FreeMapping Source # 
Instance details

Methods

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

ProfunctorFunctor CofreeMapping Source # 
Instance details
ProfunctorFunctor Coyoneda Source # 
Instance details

Methods

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

ProfunctorFunctor Yoneda Source # 
Instance details

Methods

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

ProfunctorFunctor (Rift p) Source # 
Instance details

Methods

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

ProfunctorFunctor (Procompose p) Source # 
Instance details

Methods

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

ProfunctorFunctor (Ran p) Source # 
Instance details

Methods

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

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

Methods

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

ProfunctorFunctor (Sum p) Source # 
Instance details

Methods

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

ProfunctorFunctor (Product p) Source # 
Instance details

Methods

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

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

Methods

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

class ProfunctorFunctor t => ProfunctorMonad t where Source #

Minimal complete definition

proreturn, projoin

Methods

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

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

Instances
ProfunctorMonad Copastro Source # 
Instance details
ProfunctorMonad Pastro Source # 
Instance details
ProfunctorMonad Environment Source # 
Instance details
ProfunctorMonad CopastroSum Source # 
Instance details
ProfunctorMonad PastroSum Source # 
Instance details
ProfunctorMonad FreeTraversing Source # 
Instance details
ProfunctorMonad FreeMapping Source # 
Instance details
ProfunctorMonad Coyoneda Source # 
Instance details
ProfunctorMonad Yoneda Source # 
Instance details
Category p => ProfunctorMonad (Procompose p) Source # 
Instance details
(Functor f, Monad f) => ProfunctorMonad (Cayley f) Source #

Cayley transforms Monads in Hask into monads on Prof

Instance details
ProfunctorMonad (Sum p) Source # 
Instance details

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 :: (* -> * -> *) -> * -> * -> *) Source # 
Instance details

class ProfunctorFunctor t => ProfunctorComonad t where Source #

Minimal complete definition

proextract, produplicate

Methods

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

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

Instances
ProfunctorComonad Cotambara Source # 
Instance details
ProfunctorComonad Tambara Source # 
Instance details
ProfunctorComonad Closure Source # 
Instance details
ProfunctorComonad CotambaraSum Source # 
Instance details
ProfunctorComonad TambaraSum Source # 
Instance details
ProfunctorComonad CofreeTraversing Source # 
Instance details
ProfunctorComonad CofreeMapping Source # 
Instance details
ProfunctorComonad Coyoneda Source # 
Instance details
ProfunctorComonad Yoneda Source # 
Instance details
Category p => ProfunctorComonad (Rift p) Source # 
Instance details

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) Source # 
Instance details

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) Source #

Cayley transforms Comonads in Hask into comonads on Prof

Instance details
ProfunctorComonad (Product p) Source # 
Instance details
Comonad f => ProfunctorComonad (Tannen f :: (* -> * -> *) -> * -> * -> *) Source # 
Instance details