proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Instance.BiAsCategory

Documentation

newtype BI (kk :: CAT s) Source Github #

Constructors

B s 

Instances

Instances details
Monoidal (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type Unit 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type Unit = 'B () :: BI FUNK
type (j :: BI FUNK) ** (k :: BI FUNK) 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type (j :: BI FUNK) ** (k :: BI FUNK) = 'B (UN ('B :: Type -> BI FUNK) j, UN ('B :: Type -> BI FUNK) k) :: BI FUNK

Methods

withOb2 :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github #

leftUnitor :: forall (a :: BI FUNK). Ob a => ((Unit :: BI FUNK) ** a) ~> a Source Github #

leftUnitorInv :: forall (a :: BI FUNK). Ob a => a ~> ((Unit :: BI FUNK) ** a) Source Github #

rightUnitor :: forall (a :: BI FUNK). Ob a => (a ** (Unit :: BI FUNK)) ~> a Source Github #

rightUnitorInv :: forall (a :: BI FUNK). Ob a => a ~> (a ** (Unit :: BI FUNK)) Source Github #

associator :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github #

associatorInv :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github #

SymMonoidal (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

swap :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => (a ** b) ~> (b ** a) Source Github #

Closed (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type ('B j :: BI FUNK) ~~> ('B k :: BI FUNK) 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ('B j :: BI FUNK) ~~> ('B k :: BI FUNK) = 'B (FUN j k) :: BI FUNK

Methods

withObExp :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Github #

curry :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Github #

apply :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Github #

(^^^) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Github #

Distributive (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

distL :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => (a ** (b || c)) ~> ((a ** b) || (a ** c)) Source Github #

distR :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => ((a || b) ** c) ~> ((a ** c) || (b ** c)) Source Github #

absorbL :: forall (a :: BI FUNK). Ob a => (a ** (InitialObject :: BI FUNK)) ~> (InitialObject :: BI FUNK) Source Github #

absorbR :: forall (a :: BI FUNK). Ob a => ((InitialObject :: BI FUNK) ** a) ~> (InitialObject :: BI FUNK) Source Github #

HasBinaryCoproducts (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type ('B l :: BI FUNK) || ('B r :: BI FUNK) 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ('B l :: BI FUNK) || ('B r :: BI FUNK) = 'B (COPRODUCT l r) :: BI FUNK

Methods

withObCoprod :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Github #

lft :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => a ~> (a || b) Source Github #

rgt :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => b ~> (a || b) Source Github #

(|||) :: forall (x :: BI FUNK) (a :: BI FUNK) (y :: BI FUNK). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Github #

(+++) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Github #

HasInitialObject (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type InitialObject 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

initiate :: forall (a :: BI FUNK). Ob a => (InitialObject :: BI FUNK) ~> a Source Github #

Bicategory kk => CategoryOf (BI kk) Source Github #

The category of 0-cells and 1-cells of a bicategory, forgetting 2-cells.

Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

type (~>) = Bi :: BI kk -> BI kk -> Type
HasBinaryProducts (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type (l :: BI FUNK) && (r :: BI FUNK) 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type (l :: BI FUNK) && (r :: BI FUNK) = 'B (UN ('B :: Type -> BI FUNK) l, UN ('B :: Type -> BI FUNK) r) :: BI FUNK

Methods

withObProd :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Github #

fst :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => (a && b) ~> a Source Github #

snd :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => (a && b) ~> b Source Github #

(&&&) :: forall (a :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Github #

(***) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Github #

HasTerminalObject (BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type TerminalObject = 'B () :: BI FUNK

Methods

terminate :: forall (a :: BI FUNK). Ob a => a ~> (TerminalObject :: BI FUNK) Source Github #

Bicategory kk => Promonad (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Methods

id :: forall (a :: BI kk). Ob a => Bi a a Source Github #

(.) :: forall (b :: BI kk) (c :: BI kk) (a :: BI kk). Bi b c -> Bi a b -> Bi a c Source Github #

MonoidalProfunctor (Bi :: BI FUNK -> BI FUNK -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

one :: Bi (Unit :: BI FUNK) (Unit :: BI FUNK) Source Github #

(**) :: forall (x1 :: BI FUNK) (x2 :: BI FUNK) (y1 :: BI FUNK) (y2 :: BI FUNK). Bi x1 x2 -> Bi y1 y2 -> Bi (x1 ** y1) (x2 ** y2) Source Github #

Bicategory kk => Profunctor (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Methods

dimap :: forall (c :: BI kk) (a :: BI kk) (b :: BI kk) (d :: BI kk). (c ~> a) -> (b ~> d) -> Bi a b -> Bi c d Source Github #

lmap :: forall (c :: BI kk) (a :: BI kk) (b :: BI kk). (c ~> a) -> Bi a b -> Bi c b Source Github #

rmap :: forall (b :: BI kk) (d :: BI kk) (a :: BI kk). (b ~> d) -> Bi a b -> Bi a d Source Github #

(\\) :: forall (a :: BI kk) (b :: BI kk) r. ((Ob a, Ob b) => r) -> Bi a b -> r Source Github #

Bicategory kk => EnrichedProfunctor (BI FUNK) (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

withProObj :: forall (a :: BI kk) (b :: BI kk) r. (Ob a, Ob b) => (Ob (ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) => r) -> r Source Github #

underlying :: forall (a :: BI kk) (b :: BI kk). Bi a b -> (Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b Source Github #

enriched :: forall (a :: BI kk) (b :: BI kk). (Ob a, Ob b) => ((Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) -> Bi a b Source Github #

rmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) b c ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a c Source Github #

lmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) c a ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) c b Source Github #

type Unit Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type Unit = 'B () :: BI FUNK
type InitialObject Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type (~>) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

type (~>) = Bi :: BI kk -> BI kk -> Type
type TerminalObject Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type TerminalObject = 'B () :: BI FUNK
type Ob (c :: BI kk) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

type Ob (c :: BI kk) = (Is ('B :: s -> BI kk) c, Ob0 kk (UN ('B :: s -> BI kk) c))
type (j :: BI FUNK) ** (k :: BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type (j :: BI FUNK) ** (k :: BI FUNK) = 'B (UN ('B :: Type -> BI FUNK) j, UN ('B :: Type -> BI FUNK) k) :: BI FUNK
type (l :: BI FUNK) && (r :: BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type (l :: BI FUNK) && (r :: BI FUNK) = 'B (UN ('B :: Type -> BI FUNK) l, UN ('B :: Type -> BI FUNK) r) :: BI FUNK
type ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) ('B j :: BI kk) ('B k :: BI kk) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) ('B j :: BI kk) ('B k :: BI kk) = 'B (kk j k) :: BI FUNK
type ('B j :: BI FUNK) ~~> ('B k :: BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ('B j :: BI FUNK) ~~> ('B k :: BI FUNK) = 'B (FUN j k) :: BI FUNK
type ('B l :: BI FUNK) || ('B r :: BI FUNK) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ('B l :: BI FUNK) || ('B r :: BI FUNK) = 'B (COPRODUCT l r) :: BI FUNK

data Bi (a :: BI kk) (b :: BI kk) where Source Github #

Constructors

Bi :: forall {s} {kk :: CAT s} {j :: s} {k :: s} (p :: kk j k). (Ob p, Ob0 kk j, Ob0 kk k) => Bi ('B j :: BI kk) ('B k :: BI kk) 

Instances

Instances details
Bicategory kk => Promonad (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Methods

id :: forall (a :: BI kk). Ob a => Bi a a Source Github #

(.) :: forall (b :: BI kk) (c :: BI kk) (a :: BI kk). Bi b c -> Bi a b -> Bi a c Source Github #

MonoidalProfunctor (Bi :: BI FUNK -> BI FUNK -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

one :: Bi (Unit :: BI FUNK) (Unit :: BI FUNK) Source Github #

(**) :: forall (x1 :: BI FUNK) (x2 :: BI FUNK) (y1 :: BI FUNK) (y2 :: BI FUNK). Bi x1 x2 -> Bi y1 y2 -> Bi (x1 ** y1) (x2 ** y2) Source Github #

Bicategory kk => Profunctor (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Methods

dimap :: forall (c :: BI kk) (a :: BI kk) (b :: BI kk) (d :: BI kk). (c ~> a) -> (b ~> d) -> Bi a b -> Bi c d Source Github #

lmap :: forall (c :: BI kk) (a :: BI kk) (b :: BI kk). (c ~> a) -> Bi a b -> Bi c b Source Github #

rmap :: forall (b :: BI kk) (d :: BI kk) (a :: BI kk). (b ~> d) -> Bi a b -> Bi a d Source Github #

(\\) :: forall (a :: BI kk) (b :: BI kk) r. ((Ob a, Ob b) => r) -> Bi a b -> r Source Github #

Bicategory kk => EnrichedProfunctor (BI FUNK) (Bi :: BI kk -> BI kk -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

Methods

withProObj :: forall (a :: BI kk) (b :: BI kk) r. (Ob a, Ob b) => (Ob (ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) => r) -> r Source Github #

underlying :: forall (a :: BI kk) (b :: BI kk). Bi a b -> (Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b Source Github #

enriched :: forall (a :: BI kk) (b :: BI kk). (Ob a, Ob b) => ((Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) -> Bi a b Source Github #

rmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) b c ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a c Source Github #

lmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) c a ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) c b Source Github #

type ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) ('B j :: BI kk) ('B k :: BI kk) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.CatFun

type ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) ('B j :: BI kk) ('B k :: BI kk) = 'B (kk j k) :: BI FUNK

data family Comp :: (kk j k1, kk i j) +-> kk i k1 Source Github #

Instances

Instances details
(Bicategory kk, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => FunctorForRep (Comp :: (kk j k2, kk i j) +-> kk i k2) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

Methods

fmap :: forall (a :: (kk j k2, kk i j)) (b :: (kk j k2, kk i j)). (a ~> b) -> ((Comp :: (kk j k2, kk i j) +-> kk i k2) @ a) ~> ((Comp :: (kk j k2, kk i j) +-> kk i k2) @ b) Source Github #

type (Comp :: (kk j k2, kk i j) +-> kk i k2) @ ('(f, g) :: (kk j k2, kk i j)) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.BiAsCategory

type (Comp :: (kk j k2, kk i j) +-> kk i k2) @ ('(f, g) :: (kk j k2, kk i j)) = O f g