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 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 UNIT Source Comments # | |||||||||||||||||
Defined in Proarrow.Object.Exponential Methods 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 # | |||||||||||||||||
Closed Type Source Comments # | |||||||||||||||||
Defined in Proarrow.Object.Exponential Associated Types
| |||||||||||||||||
(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 # | |||||||||||||||||
(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 # |
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 #
eval' :: forall k (a :: k) (b :: k). Closed k => Obj a -> Obj 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 |