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.Ran

  • 2 types
  • 5 values
  • Packagerebase-1.21.2
  • Exports7
  • LanguageHaskell2010
  • LicenceMIT
  • SourceRan.hs
newtypenewtype Ran (p :: k -> k1 -> Type) (q :: k -> k2 -> Type) (a :: k1) (b :: k2)
#

This represents the right Kan extension of a Profunctor q along a Profunctor p in a limited version of the 2-category of Profunctors where the only object is the category Hask, 1-morphisms are profunctors composed and compose with Profunctor composition, and 2-morphisms are just natural transformations.

Ran has a polymorphic kind since 5.6.

Constructors

Instances7ProfunctorFunctor, Category, ProfunctorComonad, Profunctor, Invariant2, Functor, …
newtypenewtype Codensity (p :: k -> k1 -> Type) (a :: k1) (b :: k1)
#

This represents the right Kan extension of a Profunctor p along itself. This provides a generalization of the "difference list" trick to profunctors.

Codensity has a polymorphic kind since 5.6.

Constructors

Instances5Category, Profunctor, Invariant2, Functor, Invariant
valuedecomposeRan :: Procompose (Ran q p) q a b -> p a b
#

The 2-morphism that defines a right Kan extension.

Note: When q is left adjoint to Ran q (->) then decomposeRan is the counit of the adjunction.