proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Object.NaturalNumbers

Documentation

class (SymMonoidal k, Ob (NNO :: k)) => HasParamNNO k where Source Github #

Associated Types

type NNO :: k Source Github #

Methods

zero :: (Unit :: k) ~> (NNO :: k) Source Github #

succ :: (NNO :: k) ~> (NNO :: k) Source Github #

nnoUniv :: forall (a :: k) (x :: k). (a ~> x) -> (x ~> x) -> (a ** (NNO :: k)) ~> x Source Github #

Instances

Instances details
HasParamNNO BOOL Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Bool

Associated Types

type NNO 
Instance details

Defined in Proarrow.Category.Instance.Bool

type NNO = 'TRU

Methods

zero :: (Unit :: BOOL) ~> (NNO :: BOOL) Source Github #

succ :: (NNO :: BOOL) ~> (NNO :: BOOL) Source Github #

nnoUniv :: forall (a :: BOOL) (x :: BOOL). (a ~> x) -> (x ~> x) -> (a ** (NNO :: BOOL)) ~> x Source Github #

HasParamNNO KIND Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Associated Types

type NNO 
Instance details

Defined in Proarrow.Category.Instance.Cat

type NNO = 'K (DISCRETE Nat)

Methods

zero :: (Unit :: KIND) ~> (NNO :: KIND) Source Github #

succ :: (NNO :: KIND) ~> (NNO :: KIND) Source Github #

nnoUniv :: forall (a :: KIND) (x :: KIND). (a ~> x) -> (x ~> x) -> (a ** (NNO :: KIND)) ~> x Source Github #

HasParamNNO () Source Github # 
Instance details

Defined in Proarrow.Object.NaturalNumbers

Associated Types

type NNO 
Instance details

Defined in Proarrow.Object.NaturalNumbers

type NNO = '()

Methods

zero :: (Unit :: ()) ~> (NNO :: ()) Source Github #

succ :: (NNO :: ()) ~> (NNO :: ()) Source Github #

nnoUniv :: forall (a :: ()) (x :: ()). (a ~> x) -> (x ~> x) -> (a ** (NNO :: ())) ~> x Source Github #

HasParamNNO Type Source Github # 
Instance details

Defined in Proarrow.Object.NaturalNumbers

Associated Types

type NNO 
Instance details

Defined in Proarrow.Object.NaturalNumbers

type NNO = Nat

Methods

zero :: (Unit :: Type) ~> (NNO :: Type) Source Github #

succ :: (NNO :: Type) ~> (NNO :: Type) Source Github #

nnoUniv :: (a ~> x) -> (x ~> x) -> (a ** (NNO :: Type)) ~> x Source Github #

(HasParamNNO j, HasParamNNO k) => HasParamNNO (j, k) Source Github # 
Instance details

Defined in Proarrow.Object.NaturalNumbers

Associated Types

type NNO 
Instance details

Defined in Proarrow.Object.NaturalNumbers

type NNO = '(NNO :: j, NNO :: k)

Methods

zero :: (Unit :: (j, k)) ~> (NNO :: (j, k)) Source Github #

succ :: (NNO :: (j, k)) ~> (NNO :: (j, k)) Source Github #

nnoUniv :: forall (a :: (j, k)) (x :: (j, k)). (a ~> x) -> (x ~> x) -> (a ** (NNO :: (j, k))) ~> x Source Github #

add :: HasParamNNO k => ((NNO :: k) ** (NNO :: k)) ~> (NNO :: k) Source Github #