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

Modulerebase-1.21.2Haskell2010

Rebase.Data.Profunctor.Rep

  • 2 types
  • 2 classes
  • 15 values
  • Packagerebase-1.21.2
  • Exports21
  • LanguageHaskell2010
  • LicenceMIT
  • SourceRep.hs
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
familytype family Rep (p :: Type -> Type -> Type) :: Type -> Type
#
Instances5Rep
  • type Rep (Kleisli m) = mDefined in profunctors-5.6.3 · Data.Profunctor.Rep
  • type Rep (->) = IdentityDefined in profunctors-5.6.3 · Data.Profunctor.Rep
  • type Rep (Procompose p q) = Compose (Rep q) (Rep p)Defined in profunctors-5.6.3 · Data.Profunctor.Composition
  • type Rep (Forget r) = Const rDefined in profunctors-5.6.3 · Data.Profunctor.Rep
  • type Rep (Star f) = fDefined in profunctors-5.6.3 · Data.Profunctor.Rep
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

Instances4Monad, Functor, Applicative, Invariant
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
familytype family Corep (p :: Type -> Type -> Type) :: Type -> Type
#
Instances5Corep
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]