úÎ*v(2     GADTs provisionalEdward Kmett <ekmett@gmail.com> Safe-Inferred Coend of  from  Hask -> Hask MPTCs provisionalEdward Kmett <ekmett@gmail.com>NoneThe cograph of a profunctor GADTs provisionalEdward Kmett <ekmett@gmail.com> Trustworthy p q is the  composition of the profunctors p and q. <For a good explanation of profunctor composition in Haskell  see Dan Piponi' s article:  :http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html (->)9 functions as a lax identity for profunctor composition. This provides an Iso for the lens package that witnesses the  isomorphism between  (->) q d c and q d c, which  is the left identity law.    ::  q => Iso' ( (->) q d c) (q d c)  (->)9 functions as a lax identity for profunctor composition. This provides an Iso for the lens package that witnesses the  isomorphism between  q (->) d c and q d c, which  is the right identity law.     ::  q => Iso' ( q (->) d c) (q d c)  DProfunctor composition generalizes functor composition in two ways. $This is the first, which shows that exists b. (a -> f b, b -> g c) is isomorphic to  a -> f (g c).   ::  f => Iso' ( ( f) ( g) d c) ( ( f g) d c) DProfunctor composition generalizes functor composition in two ways. %This is the second, which shows that exists b. (f a -> b, g b -> c) is isomorphic to  g (f a) -> c.   ::  f => Iso' ( ( f) ( g) d c) ( ( g f) d c) This is a variant on   that uses  instead of .   ::  f => Iso' ( ( f) ( g) d c) ( ( f g) d c) This is a variant on   that uses   instead of .   ::  f => Iso' ( (  f) (  g) d c) (  ( g f) d c)  !"   !"MPTCs provisionalEdward Kmett <ekmett@gmail.com>NoneA  p$ is representable if there exists a  f such that  p d c is isomorphic to d -> f c. A  p$ is representable if there exists a  f such that  p d c is isomorphic to d -> f c.  and $ form two halves of an isomorphism. /This can be used with the combinators from the lens package.  ::  f p => Iso' (d -> f c) (p d c) and $ form two halves of an isomorphism. /This can be used with the combinators from the lens package.  ::  f p => Iso' (f d -> c) (p d c)#oThe composition of two representable profunctors is representable by the composition of their representations. $%&'(#)*+ $%&'(#)*+,       !"#$%&' () !*+,-./0123456789profunctor-extras-3.1Data.Profunctor.TraceData.Profunctor.CollageData.Profunctor.CompositionData.Profunctor.RepData.Profunctor ProfunctorTraceCollageCRL Procomposeidlidrupstars downstarskleislis cokleislisCorep cotabulatecorepReptabulaterep tabulated cotabulated $fObCollageR $fObCollageL$fSemigroupoidCollageprofunctors-3.1.2Data.Profunctor.UnsafebaseGHC.BaseFunctorUpStartransformers-0.3.0.0Data.Functor.ComposeComposeDownStar Control.ArrowKleisliMonadcomonad-3.0.0.2Control.Comonad Cokleisli$fFunctorProcompose$fProfunctorProcompose$fRepComposeProcompose$fCorepComposeProcompose$fCorepfDownStar$fCorepProxyTagged$fCorepwCokleisli$fCorepIdentity(->) $fRepfUpStar $fRepmKleisli$fRepIdentity(->)