HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleprofunctors-5.6.3Haskell2010

Data.Profunctor.Rep

  • 2 types
  • 2 classes
  • 15 values

Representable Profunctors

4 declarations
classclass (Sieve p (Rep p), Strong p) => Representable (p :: Type -> Type -> Type) where
#

A Profunctor p is Representable if there exists a Functor f such that p d c is isomorphic to d -> f c.

Associated types

Methods

Instances5Representable

Corepresentable Profunctors

5 declarations
classclass (Cosieve p (Corep p), Costrong p) => Corepresentable (p :: Type -> Type -> Type) where
#

A Profunctor p is Corepresentable if there exists a Functor f such that p d c is isomorphic to f d -> c.

Associated types

Methods

Instances5Corepresentable

Prep -| Star

5 declarations
datadata Prep (p :: Type -> k -> Type) (a :: k) where
#
Prep -| Star :: [Hask, Hask] -> Prof

This gives rise to a monad in Prof, (Star.Prep), and a comonad in [Hask,Hask] (Prep.Star)

Prep has a polymorphic kind since 5.6.

Constructors

Instances3Monad, Functor, Applicative

Coprep -| Costar

5 declarations
valuecoprepAdj :: (forall (a :: k). f a -> Coprep p a) -> p :-> Costar f
#
Coprep -| Costar :: [Hask, Hask]^op -> Prof

Like all adjunctions this gives rise to a monad and a comonad.

This gives rise to a monad on Prof (Costar.Coprep) and a comonad on [Hask, Hask]^op given by (Coprep.Costar) which is a monad in [Hask,Hask]