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

Proarrow.Object.Initial

Documentation

class (CategoryOf k, Ob (InitialObject :: k)) => HasInitialObject k where Source Comments #

Associated Types

type InitialObject :: k Source Comments #

Methods

initiate' :: forall (a :: k). Obj a -> (InitialObject :: k) ~> a Source Comments #

Instances

Instances details
HasInitialObject BOOL Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Bool

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Instance.Bool

Methods

initiate' :: forall (a :: BOOL). Obj a -> (InitialObject :: BOOL) ~> a Source Comments #

HasInitialObject LINEAR Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Linear

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Instance.Linear

Methods

initiate' :: forall (a :: LINEAR). Obj a -> (InitialObject :: LINEAR) ~> a Source Comments #

HasInitialObject Nat Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Methods

initiate' :: forall (a :: Nat). Obj a -> (InitialObject :: Nat) ~> a Source Comments #

HasInitialObject UNIT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Unit

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Instance.Unit

Methods

initiate' :: forall (a :: UNIT). Obj a -> (InitialObject :: UNIT) ~> a Source Comments #

HasInitialObject Type Source Comments # 
Instance details

Defined in Proarrow.Object.Initial

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Object.Initial

HasTerminalObject k => HasInitialObject (OPPOSITE k) Source Comments # 
Instance details

Defined in Proarrow.Category.Opposite

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Opposite

Methods

initiate' :: forall (a :: OPPOSITE k). Obj a -> (InitialObject :: OPPOSITE k) ~> a Source Comments #

(CategoryOf j, CategoryOf k) => HasInitialObject (PRO j k) Source Comments # 
Instance details

Defined in Proarrow.Object.Initial

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Object.Initial

Methods

initiate' :: forall (a :: PRO j k). Obj a -> (InitialObject :: PRO j k) ~> a Source Comments #

(HasInitialObject j, HasInitialObject k) => HasInitialObject (j, k) Source Comments # 
Instance details

Defined in Proarrow.Object.Initial

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Object.Initial

Methods

initiate' :: forall (a :: (j, k)). Obj a -> (InitialObject :: (j, k)) ~> a Source Comments #

initiate :: forall {k} (a :: k). (HasInitialObject k, Ob a) => (InitialObject :: k) ~> a Source Comments #