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

Proarrow.Object.Terminal

Documentation

class (CategoryOf k, Ob (TerminalObject :: k)) => HasTerminalObject k where Source Comments #

Associated Types

type TerminalObject :: k Source Comments #

Methods

terminate' :: forall (a :: k). Obj a -> a ~> (TerminalObject :: k) Source Comments #

Instances

Instances details
HasTerminalObject BOOL Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Bool

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Bool

Methods

terminate' :: forall (a :: BOOL). Obj a -> a ~> (TerminalObject :: BOOL) Source Comments #

HasTerminalObject KIND Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

terminate' :: forall (a :: KIND). Obj a -> a ~> (TerminalObject :: KIND) Source Comments #

HasTerminalObject CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

terminate' :: forall (a :: CONSTRAINT). Obj a -> a ~> (TerminalObject :: CONSTRAINT) Source Comments #

HasTerminalObject Nat Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Simplex

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Simplex

type TerminalObject = 'S 'Z

Methods

terminate' :: forall (a :: Nat). Obj a -> a ~> (TerminalObject :: Nat) Source Comments #

HasTerminalObject UNIT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Unit

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Unit

Methods

terminate' :: forall (a :: UNIT). Obj a -> a ~> (TerminalObject :: UNIT) Source Comments #

HasTerminalObject Type Source Comments # 
Instance details

Defined in Proarrow.Object.Terminal

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Object.Terminal

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

Defined in Proarrow.Category.Opposite

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Opposite

Methods

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

HasTerminalObject k => HasTerminalObject (PROD k) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryProduct

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Object.BinaryProduct

Methods

terminate' :: forall (a :: PROD k). Obj a -> a ~> (TerminalObject :: PROD k) Source Comments #

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

Defined in Proarrow.Object.Terminal

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Object.Terminal

Methods

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

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

Defined in Proarrow.Object.Terminal

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Object.Terminal

Methods

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

terminate :: forall {k} (a :: k). (HasTerminalObject k, Ob a) => a ~> (TerminalObject :: k) Source Comments #

type El (a :: k) = (TerminalObject :: k) ~> a Source Comments #