Proarrow.Category.Instance.Unit
data UNIT Source Comments #
Constructors
Defined in Proarrow.Object.BinaryProduct
Associated Types
Methods
par :: forall (a :: UNIT) (b :: UNIT) (c :: UNIT) (d :: UNIT). (a ~> b) -> (c ~> d) -> (a ** c) ~> (b ** d) Source Comments #
leftUnitor :: forall (a :: UNIT). Obj a -> ((Unit :: UNIT) ** a) ~> a Source Comments #
leftUnitorInv :: forall (a :: UNIT). Obj a -> a ~> ((Unit :: UNIT) ** a) Source Comments #
rightUnitor :: forall (a :: UNIT). Obj a -> (a ** (Unit :: UNIT)) ~> a Source Comments #
rightUnitorInv :: forall (a :: UNIT). Obj a -> a ~> (a ** (Unit :: UNIT)) Source Comments #
associator :: forall (a :: UNIT) (b :: UNIT) (c :: UNIT). Obj a -> Obj b -> Obj c -> ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #
associatorInv :: forall (a :: UNIT) (b :: UNIT) (c :: UNIT). Obj a -> Obj b -> Obj c -> (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments #
swap' :: forall (a :: UNIT) (b :: UNIT). Obj a -> Obj b -> (a ** b) ~> (b ** a) Source Comments #
The category with one object, the terminal category.
Defined in Proarrow.Category.Instance.Unit
Defined in Proarrow.Object.BinaryCoproduct
lft' :: forall (a :: UNIT) (b :: UNIT). Obj a -> Obj b -> a ~> (a || b) Source Comments #
rgt' :: forall (a :: UNIT) (b :: UNIT). Obj a -> Obj b -> b ~> (a || b) Source Comments #
(|||) :: forall (x :: UNIT) (a :: UNIT) (y :: UNIT). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments #
(+++) :: forall (a :: UNIT) (b :: UNIT) (x :: UNIT) (y :: UNIT). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments #
fst' :: forall (a :: UNIT) (b :: UNIT). Obj a -> Obj b -> (a && b) ~> a Source Comments #
snd' :: forall (a :: UNIT) (b :: UNIT). Obj a -> Obj b -> (a && b) ~> b Source Comments #
(&&&) :: forall (a :: UNIT) (x :: UNIT) (y :: UNIT). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments #
(***) :: forall (a :: UNIT) (b :: UNIT) (x :: UNIT) (y :: UNIT). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments #
Defined in Proarrow.Object.Exponential
curry' :: forall (a :: UNIT) (b :: UNIT) (c :: UNIT). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments #
uncurry' :: forall (b :: UNIT) (c :: UNIT) (a :: UNIT). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments #
(^^^) :: forall (b :: UNIT) (y :: UNIT) (x :: UNIT) (a :: UNIT). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments #
initiate' :: forall (a :: UNIT). Obj a -> (InitialObject :: UNIT) ~> a Source Comments #
terminate' :: forall (a :: UNIT). Obj a -> a ~> (TerminalObject :: UNIT) Source Comments #
id :: forall (a :: UNIT). Ob a => Unit a a Source Comments #
(.) :: forall (b :: UNIT) (c :: UNIT) (a :: UNIT). Unit b c -> Unit a b -> Unit a c Source Comments #
lift0 :: Unit (Unit :: UNIT) (Unit :: UNIT) Source Comments #
lift2 :: forall (x1 :: UNIT) (x2 :: UNIT) (y1 :: UNIT) (y2 :: UNIT). Unit x1 x2 -> Unit y1 y2 -> Unit (x1 ** y1) (x2 ** y2) Source Comments #
dimap :: forall (c :: UNIT) (a :: UNIT) (b :: UNIT) (d :: UNIT). (c ~> a) -> (b ~> d) -> Unit a b -> Unit c d Source Comments #
(\\) :: forall (a :: UNIT) (b :: UNIT) r. ((Ob a, Ob b) => r) -> Unit a b -> r Source Comments #
Defined in Proarrow.Category.Instance.Cat
dimap :: forall (c :: UNIT) (a :: UNIT) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Terminate a b -> Terminate c d Source Comments #
(\\) :: forall (a :: UNIT) (b :: k) r. ((Ob a, Ob b) => r) -> Terminate a b -> r Source Comments #
Defined in Proarrow.Category.Colimit
dimap :: forall (c :: UNIT) (a :: UNIT) (b :: k) (d0 :: k). (c ~> a) -> (b ~> d0) -> CoproductColimit d a b -> CoproductColimit d c d0 Source Comments #
(\\) :: forall (a :: UNIT) (b :: k) r. ((Ob a, Ob b) => r) -> CoproductColimit d a b -> r Source Comments #
dimap :: forall (c :: UNIT) (a :: UNIT) (b :: k) (d0 :: k). (c ~> a) -> (b ~> d0) -> InitialLimit d a b -> InitialLimit d c d0 Source Comments #
(\\) :: forall (a :: UNIT) (b :: k) r. ((Ob a, Ob b) => r) -> InitialLimit d a b -> r Source Comments #
Defined in Proarrow.Category.Limit
dimap :: forall c a (b :: UNIT) (d0 :: UNIT). (c ~> a) -> (b ~> d0) -> EndLimit d a b -> EndLimit d c d0 Source Comments #
(\\) :: forall a (b :: UNIT) r. ((Ob a, Ob b) => r) -> EndLimit d a b -> r Source Comments #
dimap :: forall (c :: k) (a :: k) (b :: UNIT) (d0 :: UNIT). (c ~> a) -> (b ~> d0) -> ProductLimit d a b -> ProductLimit d c d0 Source Comments #
(\\) :: forall (a :: k) (b :: UNIT) r. ((Ob a, Ob b) => r) -> ProductLimit d a b -> r Source Comments #
dimap :: forall (c :: k) (a :: k) (b :: UNIT) (d0 :: UNIT). (c ~> a) -> (b ~> d0) -> TerminalLimit d a b -> TerminalLimit d c d0 Source Comments #
(\\) :: forall (a :: k) (b :: UNIT) r. ((Ob a, Ob b) => r) -> TerminalLimit d a b -> r Source Comments #
coindex :: forall (a :: UNIT) (b :: k). CoproductColimit d a b -> (CoproductColimit d %% a) ~> b Source Comments #
cotabulate :: forall (a :: UNIT) (b :: k). Ob a => ((CoproductColimit d %% a) ~> b) -> CoproductColimit d a b Source Comments #
corepMap :: forall (a :: UNIT) (b :: UNIT). (a ~> b) -> (CoproductColimit d %% a) ~> (CoproductColimit d %% b) Source Comments #
coindex :: forall (a :: UNIT) (b :: k). InitialLimit d a b -> (InitialLimit d %% a) ~> b Source Comments #
cotabulate :: forall (a :: UNIT) (b :: k). Ob a => ((InitialLimit d %% a) ~> b) -> InitialLimit d a b Source Comments #
corepMap :: forall (a :: UNIT) (b :: UNIT). (a ~> b) -> (InitialLimit d %% a) ~> (InitialLimit d %% b) Source Comments #
index :: forall a (b :: UNIT). EndLimit d a b -> a ~> (EndLimit d % b) Source Comments #
tabulate :: forall (b :: UNIT) a. Ob b => (a ~> (EndLimit d % b)) -> EndLimit d a b Source Comments #
repMap :: forall (a :: UNIT) (b :: UNIT). (a ~> b) -> (EndLimit d % a) ~> (EndLimit d % b) Source Comments #
index :: forall (a :: k) (b :: UNIT). ProductLimit d a b -> a ~> (ProductLimit d % b) Source Comments #
tabulate :: forall (b :: UNIT) (a :: k). Ob b => (a ~> (ProductLimit d % b)) -> ProductLimit d a b Source Comments #
repMap :: forall (a :: UNIT) (b :: UNIT). (a ~> b) -> (ProductLimit d % a) ~> (ProductLimit d % b) Source Comments #
index :: forall (a :: k) (b :: UNIT). TerminalLimit d a b -> a ~> (TerminalLimit d % b) Source Comments #
tabulate :: forall (b :: UNIT) (a :: k). Ob b => (a ~> (TerminalLimit d % b)) -> TerminalLimit d a b Source Comments #
repMap :: forall (a :: UNIT) (b :: UNIT). (a ~> b) -> (TerminalLimit d % a) ~> (TerminalLimit d % b) Source Comments #
colimit :: forall (d :: PRO VOID k). Corepresentable d => Colimit (Unweighted :: VOID -> UNIT -> Type) d :~> ((Unweighted :: VOID -> UNIT -> Type) |> d) Source Comments #
colimitInv :: forall (d :: PRO VOID k). Corepresentable d => ((Unweighted :: VOID -> UNIT -> Type) |> d) :~> Colimit (Unweighted :: VOID -> UNIT -> Type) d Source Comments #
limit :: forall (d :: PRO k VOID). Representable d => Limit (Unweighted :: UNIT -> VOID -> Type) d :~> (d <| (Unweighted :: UNIT -> VOID -> Type)) Source Comments #
limitInv :: forall (d :: PRO k VOID). Representable d => (d <| (Unweighted :: UNIT -> VOID -> Type)) :~> Limit (Unweighted :: UNIT -> VOID -> Type) d Source Comments #
dimap :: forall (c :: UNIT) (a :: UNIT) (b :: (OPPOSITE k, k)) (d :: (OPPOSITE k, k)). (c ~> a) -> (b ~> d) -> Hom a b -> Hom c d Source Comments #
(\\) :: forall (a :: UNIT) (b :: (OPPOSITE k, k)) r. ((Ob a, Ob b) => r) -> Hom a b -> r Source Comments #
limit :: forall (d :: PRO Type (OPPOSITE k, k)). Representable d => Limit (Hom :: UNIT -> (OPPOSITE k, k) -> Type) d :~> (d <| (Hom :: UNIT -> (OPPOSITE k, k) -> Type)) Source Comments #
limitInv :: forall (d :: PRO Type (OPPOSITE k, k)). Representable d => (d <| (Hom :: UNIT -> (OPPOSITE k, k) -> Type)) :~> Limit (Hom :: UNIT -> (OPPOSITE k, k) -> Type) d Source Comments #
limit :: forall (d :: PRO k (COPRODUCT UNIT UNIT)). Representable d => Limit (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type) d :~> (d <| (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type)) Source Comments #
limitInv :: forall (d :: PRO k (COPRODUCT UNIT UNIT)). Representable d => (d <| (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type)) :~> Limit (Unweighted :: UNIT -> COPRODUCT UNIT UNIT -> Type) d Source Comments #
colimit :: forall (d :: PRO (COPRODUCT UNIT UNIT) k). Corepresentable d => Colimit (Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) d :~> ((Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) |> d) Source Comments #
colimitInv :: forall (d :: PRO (COPRODUCT UNIT UNIT) k). Corepresentable d => ((Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) |> d) :~> Colimit (Unweighted :: COPRODUCT UNIT UNIT -> UNIT -> Type) d Source Comments #
data Unit (a :: UNIT) (b :: UNIT) where Source Comments #