proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.Direpresentable

Documentation

data Direp (f :: j +-> k) (g :: i +-> k) (a :: j) (b :: i) where Source Github #

Constructors

Direp :: forall {j} {i} {k} (a :: j) (b :: i) (f :: j +-> k) (g :: i +-> k). (Ob a, Ob b) => ((f @ a) ~> (g @ b)) -> Direp f g a b 

Instances

Instances details
(Thin k, FunctorForRep f, FunctorForRep g) => ThinProfunctor (Direp f g :: j -> i -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Direpresentable

Methods

arr :: forall (a :: j) (b :: i). (Ob a, Ob b, HasArrow (Direp f g) a b) => Direp f g a b Source Github #

withArr :: forall (a :: j) (b :: i) r. Direp f g a b -> (HasArrow (Direp f g) a b => r) -> r Source Github #

(FunctorForRep f, FunctorForRep g) => Profunctor (Direp f g :: k1 -> j -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Direpresentable

Methods

dimap :: forall (c :: k1) (a :: k1) (b :: j) (d :: j). (c ~> a) -> (b ~> d) -> Direp f g a b -> Direp f g c d Source Github #

lmap :: forall (c :: k1) (a :: k1) (b :: j). (c ~> a) -> Direp f g a b -> Direp f g c b Source Github #

rmap :: forall (b :: j) (d :: j) (a :: k1). (b ~> d) -> Direp f g a b -> Direp f g a d Source Github #

(\\) :: forall (a :: k1) (b :: j) r. ((Ob a, Ob b) => r) -> Direp f g a b -> r Source Github #

type HasArrow (Direp f g :: j -> i -> Type) (a :: j) (b :: i) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Direpresentable

type HasArrow (Direp f g :: j -> i -> Type) (a :: j) (b :: i) = HasArrow (Hom k) (f @ a) (g @ b)