/caterwaul/Functor/Profunctor/Type
Copy path to clipboardA profunctor ๐ โ ๐
is represented as the bifunctor (๐^op, ๐) โ ๐ฑ
. This is
much more general than Haskellโs Profunctor
. It also requires that ๐ฑ is
closed.
Source
{-|
A profunctor `๐ โ ๐` is represented as the bifunctor `(๐^op, ๐) โ ๐ฑ`. This is
much more general than Haskellโs `Profunctor`. It also requires that ๐ฑ is
closed.
-}
let cat = ../../Category/Cat/semigroupal
let Category = ../../Category/Kind cat
let vObject = Type
in ฮป(cObject : Kind) โ
ฮป(dObject : Kind) โ
ฮป(v : ../../Category/Monoidal/Closed/Kind cat vObject) โ
ฮป(c : Category vObject cObject) โ
ฮป(d : Category vObject dObject) โ
../Bifunctor/Type
vObject
dObject
cObject
vObject
v
(../../Category/Op/Kind vObject dObject d)
c
(../../Category/Monoidal/extractCategory cat vObject vObject v)