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

Proarrow.Category.Instance.Zero

Documentation

data VOID Source Comments #

Instances

Instances details
CategoryOf VOID Source Comments #

The category with no objects, the initial category.

Instance details

Defined in Proarrow.Category.Instance.Zero

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Instance.Zero

type (~>) = Zero
type Ob (a :: VOID) 
Instance details

Defined in Proarrow.Category.Instance.Zero

type Ob (a :: VOID) = IsVoid a
Promonad Zero Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

id :: forall (a :: VOID). Ob a => Zero a a Source Comments #

(.) :: forall (b :: VOID) (c :: VOID) (a :: VOID). Zero b c -> Zero a b -> Zero a c Source Comments #

Profunctor Zero Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

dimap :: forall (c :: VOID) (a :: VOID) (b :: VOID) (d :: VOID). (c ~> a) -> (b ~> d) -> Zero a b -> Zero c d Source Comments #

(\\) :: forall (a :: VOID) (b :: VOID) r. ((Ob a, Ob b) => r) -> Zero 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 #

type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

type (~>) = Zero
type Ob (a :: VOID) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

type Ob (a :: VOID) = IsVoid a
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

data Zero (a :: VOID) (b :: VOID) Source Comments #

Instances

Instances details
Promonad Zero Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

id :: forall (a :: VOID). Ob a => Zero a a Source Comments #

(.) :: forall (b :: VOID) (c :: VOID) (a :: VOID). Zero b c -> Zero a b -> Zero a c Source Comments #

Profunctor Zero Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

dimap :: forall (c :: VOID) (a :: VOID) (b :: VOID) (d :: VOID). (c ~> a) -> (b ~> d) -> Zero a b -> Zero c d Source Comments #

(\\) :: forall (a :: VOID) (b :: VOID) r. ((Ob a, Ob b) => r) -> Zero a b -> r Source Comments #

class IsVoid (a :: VOID) where Source Comments #

Methods

voidId :: Zero a a Source Comments #