Proarrow.Category.Instance.PointedHask
data POINTED Source Comments #
Constructors
Defined in Proarrow.Category.Instance.PointedHask
Associated Types
Methods
leftUnitor :: forall (a :: POINTED). Ob a => ((Unit :: POINTED) ** a) ~> a Source Comments #
leftUnitorInv :: forall (a :: POINTED). Ob a => a ~> ((Unit :: POINTED) ** a) Source Comments #
rightUnitor :: forall (a :: POINTED). Ob a => (a ** (Unit :: POINTED)) ~> a Source Comments #
rightUnitorInv :: forall (a :: POINTED). Ob a => a ~> (a ** (Unit :: POINTED)) Source Comments #
associator :: forall (a :: POINTED) (b :: POINTED) (c :: POINTED). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #
associatorInv :: forall (a :: POINTED) (b :: POINTED) (c :: POINTED). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments #
lft :: forall (a :: POINTED) (b :: POINTED). (Ob a, Ob b) => a ~> (a || b) Source Comments #
lft' :: forall (a :: POINTED) (a' :: POINTED) (b :: POINTED). (a ~> a') -> Obj b -> a ~> (a' || b) Source Comments #
rgt :: forall (a :: POINTED) (b :: POINTED). (Ob a, Ob b) => b ~> (a || b) Source Comments #
rgt' :: forall (a :: POINTED) (b :: POINTED) (b' :: POINTED). Obj a -> (b ~> b') -> b ~> (a || b') Source Comments #
(|||) :: forall (x :: POINTED) (a :: POINTED) (y :: POINTED). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments #
(+++) :: forall (a :: POINTED) (b :: POINTED) (x :: POINTED) (y :: POINTED). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments #
fst :: forall (a :: POINTED) (b :: POINTED). (Ob a, Ob b) => (a && b) ~> a Source Comments #
fst' :: forall (a :: POINTED) (a' :: POINTED) (b :: POINTED). (a ~> a') -> Obj b -> (a && b) ~> a' Source Comments #
snd :: forall (a :: POINTED) (b :: POINTED). (Ob a, Ob b) => (a && b) ~> b Source Comments #
snd' :: forall (a :: POINTED) (b :: POINTED) (b' :: POINTED). Obj a -> (b ~> b') -> (a && b) ~> b' Source Comments #
(&&&) :: forall (a :: POINTED) (x :: POINTED) (y :: POINTED). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments #
(***) :: forall (a :: POINTED) (b :: POINTED) (x :: POINTED) (y :: POINTED). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments #
initiate :: forall (a :: POINTED). Ob a => (InitialObject :: POINTED) ~> a Source Comments #
initiate' :: forall (a' :: POINTED) (a :: POINTED). (a' ~> a) -> (InitialObject :: POINTED) ~> a Source Comments #
terminate :: forall (a :: POINTED). Ob a => a ~> (TerminalObject :: POINTED) Source Comments #
terminate' :: forall (a :: POINTED) (a' :: POINTED). (a ~> a') -> a ~> (TerminalObject :: POINTED) Source Comments #
id :: forall (a :: POINTED). Ob a => Pointed a a Source Comments #
(.) :: forall (b :: POINTED) (c :: POINTED) (a :: POINTED). Pointed b c -> Pointed a b -> Pointed a c Source Comments #
par0 :: Pointed (Unit :: POINTED) (Unit :: POINTED) Source Comments #
par :: forall (x1 :: POINTED) (x2 :: POINTED) (y1 :: POINTED) (y2 :: POINTED). Pointed x1 x2 -> Pointed y1 y2 -> Pointed (x1 ** y1) (x2 ** y2) Source Comments #
dimap :: forall (c :: POINTED) (a :: POINTED) (b :: POINTED) (d :: POINTED). (c ~> a) -> (b ~> d) -> Pointed a b -> Pointed c d Source Comments #
(\\) :: forall (a :: POINTED) (b :: POINTED) r. ((Ob a, Ob b) => r) -> Pointed a b -> r Source Comments #
data Pointed (a :: POINTED) (b :: POINTED) where Source Comments #
data These a b Source Comments #