proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Instance.Zero

Description

The initial category: the empty kind VOID with no objects (its Ob constraint is Bottom, which nothing satisfies) and no arrows.

Documentation

data VOID Source Github #

Instances

Instances details
Enumerable VOID Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Methods

withIndex :: forall (a :: VOID) r. Ob a => (KnownIndex a => r) -> r Source Github #

withOb :: forall (a :: VOID) r. KnownIndex a => (Ob a => r) -> r Source Github #

atOb :: forall (i :: Nat). SNat i -> AtOb VOID (At VOID i) Source Github #

Finite VOID Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type Objects VOID 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Objects VOID = '[] :: [VOID]

Methods

finite :: IndexedList (Objects VOID) Source Github #

withAtLookup :: forall (i :: Nat) r. SNat i -> (Lookup (Objects VOID) i ~ At VOID i => r) -> r Source Github #

Indexed VOID Source Github #

The empty kind has no inhabitants to number.

Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type Index (a :: VOID) 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Index (a :: VOID) = 'Z
type At VOID i 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type At VOID i = 'Nothing :: Maybe VOID
CategoryOf VOID Source Github #

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) = Bottom
DaggerProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

dagger :: forall (a :: VOID) (b :: VOID). Zero a b -> Zero b a Source Github #

Promonad Zero Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

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

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

DecidableProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type Holds Zero (a :: VOID) (b :: VOID) 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Holds Zero (a :: VOID) (b :: VOID) = 'FLS

Methods

decide :: forall (a :: VOID) (b :: VOID). (Ob a, Ob b) => Decision Zero a b (Holds Zero a b) Source Github #

toHolds :: forall (a :: VOID) (b :: VOID) r. Zero a b -> ((Holds Zero a b ~ 'TRU, Ob a, Ob b) => r) -> r Source Github #

ThinProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type HasArrow Zero (a :: VOID) (b :: VOID) 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type HasArrow Zero (a :: VOID) (b :: VOID) = Holds Zero a b ~ 'TRU

Methods

arr :: forall (a :: VOID) (b :: VOID). (Ob a, Ob b, HasArrow Zero a b) => Zero a b Source Github #

withArr :: forall (a :: VOID) (b :: VOID) r. Zero a b -> ((HasArrow Zero a b, Ob a, Ob b) => r) -> r Source Github #

Profunctor Zero Source Github # 
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 Github #

lmap :: forall (c :: VOID) (a :: VOID) (b :: VOID). (c ~> a) -> Zero a b -> Zero c b Source Github #

rmap :: forall (b :: VOID) (d :: VOID) (a :: VOID). (b ~> d) -> Zero a b -> Zero a d Source Github #

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

CategoryOf k => FunctorForRep (Initiate :: VOID +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Fam

Methods

fmap :: forall (a :: VOID) (b :: VOID). (a ~> b) -> ((Initiate :: VOID +-> k) @ a) ~> ((Initiate :: VOID +-> k) @ b) Source Github #

CategoryOf k => FunctorForRep (Absurd :: VOID +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

fmap :: forall (a :: VOID) (b :: VOID). (a ~> b) -> ((Absurd :: VOID +-> k) @ a) ~> ((Absurd :: VOID +-> k) @ b) Source Github #

type Objects VOID Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Objects VOID = '[] :: [VOID]
type (~>) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

type (~>) = Zero
type At VOID i Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type At VOID i = 'Nothing :: Maybe VOID
type Index (a :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Index (a :: VOID) = 'Z
type Ob (a :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

type Ob (a :: VOID) = Bottom
type HasArrow Zero (a :: VOID) (b :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type HasArrow Zero (a :: VOID) (b :: VOID) = Holds Zero a b ~ 'TRU
type Holds Zero (a :: VOID) (b :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Holds Zero (a :: VOID) (b :: VOID) = 'FLS
type (Initiate :: VOID +-> k) @ (a :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Fam

type (Initiate :: VOID +-> k) @ (a :: VOID) = Any :: k

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

Instances

Instances details
DaggerProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

dagger :: forall (a :: VOID) (b :: VOID). Zero a b -> Zero b a Source Github #

Promonad Zero Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

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

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

DecidableProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type Holds Zero (a :: VOID) (b :: VOID) 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Holds Zero (a :: VOID) (b :: VOID) = 'FLS

Methods

decide :: forall (a :: VOID) (b :: VOID). (Ob a, Ob b) => Decision Zero a b (Holds Zero a b) Source Github #

toHolds :: forall (a :: VOID) (b :: VOID) r. Zero a b -> ((Holds Zero a b ~ 'TRU, Ob a, Ob b) => r) -> r Source Github #

ThinProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

Associated Types

type HasArrow Zero (a :: VOID) (b :: VOID) 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type HasArrow Zero (a :: VOID) (b :: VOID) = Holds Zero a b ~ 'TRU

Methods

arr :: forall (a :: VOID) (b :: VOID). (Ob a, Ob b, HasArrow Zero a b) => Zero a b Source Github #

withArr :: forall (a :: VOID) (b :: VOID) r. Zero a b -> ((HasArrow Zero a b, Ob a, Ob b) => r) -> r Source Github #

Profunctor Zero Source Github # 
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 Github #

lmap :: forall (c :: VOID) (a :: VOID) (b :: VOID). (c ~> a) -> Zero a b -> Zero c b Source Github #

rmap :: forall (b :: VOID) (d :: VOID) (a :: VOID). (b ~> d) -> Zero a b -> Zero a d Source Github #

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

type HasArrow Zero (a :: VOID) (b :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type HasArrow Zero (a :: VOID) (b :: VOID) = Holds Zero a b ~ 'TRU
type Holds Zero (a :: VOID) (b :: VOID) Source Github # 
Instance details

Defined in Proarrow.Category.Enriched.Thin

type Holds Zero (a :: VOID) (b :: VOID) = 'FLS

class Bottom where Source Github #

Methods

no :: a Source Github #

data family Absurd :: VOID +-> k Source Github #

Instances

Instances details
CategoryOf k => FunctorForRep (Absurd :: VOID +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

fmap :: forall (a :: VOID) (b :: VOID). (a ~> b) -> ((Absurd :: VOID +-> k) @ a) ~> ((Absurd :: VOID +-> k) @ b) Source Github #