-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Representable profunctors -- -- Representable profunctors @package representable-profunctors @version 0.2.0 module Data.Profunctor.Corepresentable class 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 (Compose c d) instance Functor f => CorepresentableProfunctor (UpStar f) instance Functor m => CorepresentableProfunctor (Kleisli m) instance CorepresentableProfunctor (->) module Data.Profunctor.Representable class 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 (Compose f g) instance Functor f => RepresentableProfunctor (DownStar f) instance Functor w => RepresentableProfunctor (Cokleisli w) instance RepresentableProfunctor (->)