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

  • 4 types
  • 2 classes
  • 8 values
  • Packagerebase-1.21.2
  • Exports14
  • LanguageHaskell2010
  • LicenceMIT
  • SourceStrong.hs
classclass Profunctor p => Strong (p :: Type -> Type -> Type) where
#

Generalizing Star of a strong Functor

Note: Every Functor in Haskell is strong with respect to (,).

This describes profunctor strength with respect to the product structure of Hask.

http://www.riec.tohoku.ac.jp/~asada/papers/arrStrMnd.pdf

Methods

Instances21Strong, …
classclass Profunctor p => Costrong (p :: Type -> Type -> Type) where
#

Analogous to ArrowLoop, loop = unfirst

Methods

Instances16Costrong, …
newtypenewtype Copastro (p :: Type -> Type -> Type) a b
#

Copastro -| Cotambara

Copastro freely constructs costrength

Constructors

Instances8ProfunctorMonad, ProfunctorAdjunction, ProfunctorFunctor, Costrong, Profunctor, Invariant2, …
datadata Cotambara (q :: Type -> Type -> Type) a b where
#

Cotambara cofreely constructs costrength

Constructors

Instances8ProfunctorComonad, ProfunctorAdjunction, ProfunctorFunctor, Costrong, Profunctor, Invariant2, …
datadata Pastro (p :: Type -> Type -> Type) a b where
#

Pastro -| Tambara

Pastro p ~ exists z. Costar ((,)z) Procompose p Procompose Star ((,)z)

Pastro freely makes any Profunctor Strong.

Constructors

  • Pastro :: ((y, z) -> b) -> p x y -> (a -> (x, z)) -> Pastro p a b
Instances8ProfunctorMonad, ProfunctorAdjunction, ProfunctorFunctor, Strong, Profunctor, Invariant2, …
newtypenewtype Tambara (p :: Type -> Type -> Type) a b
#

Tambara cofreely makes any Profunctor Strong.

Constructors

Instances20ProfunctorComonad, ProfunctorAdjunction, ProfunctorFunctor, Category, Arrow, ArrowApply, …