-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Representable profunctors -- -- Representable profunctors @package representable-profunctors @version 3.0 module Data.Profunctor.Corepresentable class (Profunctor k, Functor (Corep k)) => CorepresentableProfunctor k where type family Corep k :: * -> * cotabulatePro :: CorepresentableProfunctor k => (d -> Corep k c) -> k d c coindexPro :: CorepresentableProfunctor k => k d c -> d -> Corep k c instance (CorepresentableProfunctor c, CorepresentableProfunctor d) => CorepresentableProfunctor (Procompose c d) instance Functor f => CorepresentableProfunctor (UpStar f) instance (Monad m, Functor m) => CorepresentableProfunctor (Kleisli m) instance CorepresentableProfunctor (->) module Data.Profunctor.Representable class (Profunctor k, Functor (Rep k)) => RepresentableProfunctor k where type family Rep k :: * -> * tabulatePro :: RepresentableProfunctor k => (Rep k d -> c) -> k d c indexPro :: RepresentableProfunctor k => k d c -> Rep k d -> c instance (RepresentableProfunctor f, RepresentableProfunctor g) => RepresentableProfunctor (Procompose f g) instance Functor f => RepresentableProfunctor (DownStar f) instance Functor w => RepresentableProfunctor (Cokleisli w) instance RepresentableProfunctor (->)