proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Profunctor.Terminal

Documentation

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

Constructors

TerminalProfunctor :: forall {j} {k} (a :: j) (b :: k). (Ob a, Ob b) => TerminalProfunctor a b 

Bundled Patterns

pattern TerminalProfunctor' :: (CategoryOf j, CategoryOf k) => Obj a -> Obj b -> TerminalProfunctor a b 

Instances

Instances details
(Monoidal j, Monoidal k) => MonoidalProfunctor (TerminalProfunctor :: j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Terminal

Methods

lift0 :: TerminalProfunctor (Unit :: j) (Unit :: k) Source Comments #

lift2 :: forall (x1 :: j) (x2 :: k) (y1 :: j) (y2 :: k). TerminalProfunctor x1 x2 -> TerminalProfunctor y1 y2 -> TerminalProfunctor (x1 ** y1) (x2 ** y2) Source Comments #

(CategoryOf j, CategoryOf k) => Profunctor (TerminalProfunctor :: j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Terminal

Methods

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

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

HasInitialObject k => HasColimits (Unweighted :: VOID -> UNIT -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

colimit :: forall (d :: PRO VOID k). Corepresentable d => Colimit (Unweighted :: VOID -> UNIT -> Type) d :~> ((Unweighted :: VOID -> UNIT -> Type) |> d) Source Comments #

colimitInv :: forall (d :: PRO VOID k). Corepresentable d => ((Unweighted :: VOID -> UNIT -> Type) |> d) :~> Colimit (Unweighted :: VOID -> UNIT -> Type) d Source Comments #

HasTerminalObject k => HasLimits (Unweighted :: UNIT -> VOID -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

limit :: forall (d :: PRO k VOID). Representable d => Limit (Unweighted :: UNIT -> VOID -> Type) d :~> (d <| (Unweighted :: UNIT -> VOID -> Type)) Source Comments #

limitInv :: forall (d :: PRO k VOID). Representable d => (d <| (Unweighted :: UNIT -> VOID -> Type)) :~> Limit (Unweighted :: UNIT -> VOID -> Type) d Source Comments #

HasBinaryProducts k => HasLimits (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

HasBinaryCoproducts k => HasColimits (Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

type Colimit (Unweighted :: VOID -> UNIT -> Type) (d :: PRO VOID k) Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

type Colimit (Unweighted :: VOID -> UNIT -> Type) (d :: PRO VOID k) = InitialLimit d
type Limit (Unweighted :: UNIT -> VOID -> Type) (d :: PRO k VOID) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

type Limit (Unweighted :: UNIT -> VOID -> Type) (d :: PRO k VOID) = TerminalLimit d
type Limit (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type) (d :: PRO k (COPRODUCT UNIT UNIT)) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

type Colimit (Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) (d :: PRO (COPRODUCT UNIT UNIT) k) Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit