proarrow
Safe HaskellNone
LanguageHaskell2010

Proarrow.Profunctor.Constant

Documentation

data Constant (c :: k) (a :: k) (b :: j) where Source Comments #

Constructors

Constant :: forall {j} {k} (b :: j) (a :: k) (c :: k). Ob b => (a ~> c) -> Constant c a b 

Instances

Instances details
(CategoryOf j, CategoryOf k, Ob c) => Profunctor (Constant c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

Methods

dimap :: forall (c0 :: k) (a :: k) (b :: j) (d :: j). (c0 ~> a) -> (b ~> d) -> Constant c a b -> Constant c c0 d Source Comments #

(\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> Constant c a b -> r Source Comments #

(CategoryOf j, CategoryOf k, Ob c) => Representable (Constant c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

Methods

index :: forall (a :: k) (b :: j). Constant c a b -> a ~> ((Constant c :: k -> j -> Type) % b) Source Comments #

tabulate :: forall (b :: j) (a :: k). Ob b => (a ~> ((Constant c :: k -> j -> Type) % b)) -> Constant c a b Source Comments #

repMap :: forall (a :: j) (b :: j). (a ~> b) -> ((Constant c :: k -> j -> Type) % a) ~> ((Constant c :: k -> j -> Type) % b) Source Comments #

type (Constant c :: k -> j -> Type) % (a :: j) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

type (Constant c :: k -> j -> Type) % (a :: j) = c

data ConstIn (c :: j) (a :: k) (b :: j) where Source Comments #

Constructors

ConstIn :: forall {k} {j} (a :: k) (c :: j) (b :: j). Ob a => (c ~> b) -> ConstIn c a b 

Instances

Instances details
(CategoryOf j, CategoryOf k, Ob c) => Profunctor (ConstIn c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

Methods

dimap :: forall (c0 :: k) (a :: k) (b :: j) (d :: j). (c0 ~> a) -> (b ~> d) -> ConstIn c a b -> ConstIn c c0 d Source Comments #

(\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> ConstIn c a b -> r Source Comments #

(CategoryOf j, CategoryOf k, Ob c) => Corepresentable (ConstIn c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

Methods

coindex :: forall (a :: k) (b :: j). ConstIn c a b -> ((ConstIn c :: k -> j -> Type) %% a) ~> b Source Comments #

cotabulate :: forall (a :: k) (b :: j). Ob a => (((ConstIn c :: k -> j -> Type) %% a) ~> b) -> ConstIn c a b Source Comments #

corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((ConstIn c :: k -> j -> Type) %% a) ~> ((ConstIn c :: k -> j -> Type) %% b) Source Comments #

type (ConstIn c :: k -> j -> Type) %% (a :: k) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Constant

type (ConstIn c :: k -> j -> Type) %% (a :: k) = c