Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Object.Exponential
Documentation
class Monoidal k => Closed k where Source Comments #
Methods
curry' :: forall (a :: k) (b :: k) (c :: k). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments #
uncurry' :: forall (b :: k) (c :: k) (a :: k). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments #
(^^^) :: forall (b :: k) (y :: k) (x :: k) (a :: k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments #
Instances
Closed BOOL Source Comments # | |||||
Defined in Proarrow.Category.Instance.Bool Associated Types
Methods curry' :: forall (a :: BOOL) (b :: BOOL) (c :: BOOL). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: BOOL) (c :: BOOL) (a :: BOOL). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: BOOL) (y :: BOOL) (x :: BOOL) (a :: BOOL). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed KIND Source Comments # | |||||
Defined in Proarrow.Category.Instance.Cat Methods curry' :: forall (a :: KIND) (b :: KIND) (c :: KIND). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: KIND) (c :: KIND) (a :: KIND). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: KIND) (y :: KIND) (x :: KIND) (a :: KIND). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed CONSTRAINT Source Comments # | |||||
Defined in Proarrow.Category.Instance.Constraint Associated Types
Methods curry' :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (c :: CONSTRAINT). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: CONSTRAINT) (c :: CONSTRAINT) (a :: CONSTRAINT). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: CONSTRAINT) (y :: CONSTRAINT) (x :: CONSTRAINT) (a :: CONSTRAINT). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed LINEAR Source Comments # | |||||
Defined in Proarrow.Category.Instance.Linear Methods curry' :: forall (a :: LINEAR) (b :: LINEAR) (c :: LINEAR). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: LINEAR) (c :: LINEAR) (a :: LINEAR). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: LINEAR) (y :: LINEAR) (x :: LINEAR) (a :: LINEAR). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed () Source Comments # | |||||
Defined in Proarrow.Object.Exponential Associated Types
Methods curry' :: forall (a :: ()) (b :: ()) (c :: ()). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: ()) (c :: ()) (a :: ()). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: ()) (y :: ()) (x :: ()) (a :: ()). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed Type Source Comments # | |||||
Defined in Proarrow.Object.Exponential Associated Types
| |||||
(TracedMonoidal k, Ob (Unit :: k)) => Closed (INT k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.IntConstruction Methods curry' :: forall (a :: INT k) (b :: INT k) (c :: INT k). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: INT k) (c :: INT k) (a :: INT k). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: INT k) (y :: INT k) (x :: INT k) (a :: INT k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Num a => Closed (MatK a) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Mat Methods curry' :: forall (a0 :: MatK a) (b :: MatK a) (c :: MatK a). Obj a0 -> Obj b -> ((a0 ** b) ~> c) -> a0 ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: MatK a) (c :: MatK a) (a0 :: MatK a). Obj b -> Obj c -> (a0 ~> (b ~~> c)) -> (a0 ** b) ~> c Source Comments # (^^^) :: forall (b :: MatK a) (y :: MatK a) (x :: MatK a) (a0 :: MatK a). (b ~> y) -> (x ~> a0) -> (a0 ~~> b) ~> (x ~~> y) Source Comments # | |||||
BiCCC k => Closed (FK k) Source Comments # | |||||
Defined in Proarrow.Helper.CCC Methods curry' :: forall (a :: FK k) (b :: FK k) (c :: FK k). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: FK k) (c :: FK k) (a :: FK k). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: FK k) (y :: FK k) (x :: FK k) (a :: FK k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
(CategoryOf j, CategoryOf k) => Closed (PROD (PRO j k)) Source Comments # | |||||
Defined in Proarrow.Object.Exponential Methods curry' :: forall (a :: PROD (PRO j k)) (b :: PROD (PRO j k)) (c :: PROD (PRO j k)). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: PROD (PRO j k)) (c :: PROD (PRO j k)) (a :: PROD (PRO j k)). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: PROD (PRO j k)) (y :: PROD (PRO j k)) (x :: PROD (PRO j k)) (a :: PROD (PRO j k)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
CategoryOf k1 => Closed (PROD (k1 -> Type)) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Nat Methods curry' :: forall (a :: PROD (k1 -> Type)) (b :: PROD (k1 -> Type)) (c :: PROD (k1 -> Type)). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: PROD (k1 -> Type)) (c :: PROD (k1 -> Type)) (a :: PROD (k1 -> Type)). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: PROD (k1 -> Type)) (y :: PROD (k1 -> Type)) (x :: PROD (k1 -> Type)) (a :: PROD (k1 -> Type)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed (KLEISLI (Cont r)) Source Comments # | |||||
Defined in Proarrow.Promonad.Cont Methods curry' :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)) (a :: KLEISLI (Cont r)). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: KLEISLI (Cont r)) (y :: KLEISLI (Cont r)) (x :: KLEISLI (Cont r)) (a :: KLEISLI (Cont r)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
(Monoidal j, Monoidal k) => Closed (PRO j k) Source Comments # | |||||
Defined in Proarrow.Profunctor.Day Methods curry' :: forall (a :: PRO j k) (b :: PRO j k) (c :: PRO j k). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: PRO j k) (c :: PRO j k) (a :: PRO j k). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: PRO j k) (y :: PRO j k) (x :: PRO j k) (a :: PRO j k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
(Closed j, Closed k) => Closed (j, k) Source Comments # | |||||
Defined in Proarrow.Object.Exponential Methods curry' :: forall (a :: (j, k)) (b :: (j, k)) (c :: (j, k)). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: (j, k)) (c :: (j, k)) (a :: (j, k)). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: (j, k)) (y :: (j, k)) (x :: (j, k)) (a :: (j, k)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Closed (Type -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Nat Methods curry' :: forall (a :: Type -> Type) (b :: Type -> Type) (c :: Type -> Type). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: Type -> Type) (c :: Type -> Type) (a :: Type -> Type). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: Type -> Type) (y :: Type -> Type) (x :: Type -> Type) (a :: Type -> Type). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
(Bicategory kk, Ob0 kk k, Ob (I :: kk k k), forall (f :: kk k k) (g :: kk k k). (Ob f, Ob g) => RightKanExtension f g) => Closed (ENDO kk k) Source Comments # | |||||
Defined in Proarrow.Category.Monoidal.Endo Methods curry' :: forall (a :: ENDO kk k) (b :: ENDO kk k) (c :: ENDO kk k). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # uncurry' :: forall (b :: ENDO kk k) (c :: ENDO kk k) (a :: ENDO kk k). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments # (^^^) :: forall (b :: ENDO kk k) (y :: ENDO kk k) (x :: ENDO kk k) (a :: ENDO kk k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # |
curry :: forall {k} (a :: k) (b :: k) (c :: k). (Closed k, Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments #
uncurry :: forall {k} (a :: k) (b :: k) (c :: k). (Closed k, Ob b, Ob c) => (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments #
comp :: forall {k} (a :: k) (b :: k) (c :: k). (Closed k, Ob a, Ob b, Ob c) => ((b ~~> c) ** (a ~~> b)) ~> (a ~~> c) Source Comments #
mkExponential :: forall {k} (a :: k) (b :: k). Closed k => (a ~> b) -> (Unit :: k) ~> (a ~~> b) Source Comments #
lower :: forall {k} (a :: k) (b :: k). (Closed k, Ob a, Ob b) => ((Unit :: k) ~> (a ~~> b)) -> a ~> b Source Comments #
eval' :: forall k (a :: k) (a' :: k) (b :: k) (b' :: k). Closed k => (a ~> a') -> (b ~> b') -> ((a' ~~> b) ** a) ~> b' Source Comments #
eval :: forall {k} (a :: k) (b :: k). (Closed k, Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Comments #
data ExponentialFunctor (a :: k) (b :: (OPPOSITE k, k)) where Source Comments #
Constructors
ExponentialFunctor :: forall {k} (c :: k) (d :: k) (a :: k). (Ob c, Ob d) => (a ~> (c ~~> d)) -> ExponentialFunctor a '('OP c, d) |
Instances
Closed k => Profunctor (ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) Source Comments # | |
Defined in Proarrow.Object.Exponential | |
Closed k => Representable (ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) Source Comments # | |
Defined in Proarrow.Object.Exponential Methods index :: forall (a :: k) (b :: (OPPOSITE k, k)). ExponentialFunctor a b -> a ~> ((ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) % b) Source Comments # tabulate :: forall (b :: (OPPOSITE k, k)) (a :: k). Ob b => (a ~> ((ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) % b)) -> ExponentialFunctor a b Source Comments # repMap :: forall (a :: (OPPOSITE k, k)) (b :: (OPPOSITE k, k)). (a ~> b) -> ((ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) % a) ~> ((ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) % b) Source Comments # | |
type (ExponentialFunctor :: k -> (OPPOSITE k, k) -> Type) % ('('OP a, b) :: (OPPOSITE k, k)) Source Comments # | |
Defined in Proarrow.Object.Exponential |
class (CCC k, HasCoproducts k) => BiCCC k Source Comments #
Instances
(CCC k, HasCoproducts k) => BiCCC k Source Comments # | |
Defined in Proarrow.Object.Exponential |