Safe Haskell | None |
---|---|
Language | GHC2024 |
Proarrow.Category.Instance.Kleisli
Synopsis
- newtype KLEISLI (p :: CAT k) = KL k
- data Kleisli (a :: KLEISLI p) (b :: KLEISLI p) where
- arr :: forall {k} (p :: k +-> k) (a :: k) (b :: k). Promonad p => (a ~> b) -> Kleisli ('KL a :: KLEISLI p) ('KL b :: KLEISLI p)
- data KleisliFree (p :: k +-> k) (a :: KLEISLI p) (b :: k) where
- KleisliFree :: forall {k} (p :: k +-> k) (a1 :: k) (b :: k). p a1 b -> KleisliFree p ('KL a1 :: KLEISLI p) b
- data KleisliForget (p :: k +-> k) (a :: k) (b :: KLEISLI p) where
- KleisliForget :: forall {k} (p :: k +-> k) (a :: k) (b1 :: k). p a b1 -> KleisliForget p a ('KL b1 :: KLEISLI p)
- type LIFTEDF (f :: j +-> k) = KLEISLI (RepCostar f :.: f)
- pattern LiftF :: forall j k (f :: j +-> k) (a :: j) (b :: j). Representable f => (Ob a, Ob b) => ((f % a) ~> (f % b)) -> Kleisli ('KL a :: KLEISLI (RepCostar f :.: f)) ('KL b :: KLEISLI (RepCostar f :.: f))
Documentation
newtype KLEISLI (p :: CAT k) Source Comments #
Constructors
KL k |
Instances
data Kleisli (a :: KLEISLI p) (b :: KLEISLI p) where Source Comments #
Constructors
Kleisli | |
Instances
(DaggerProfunctor p, Promonad p) => DaggerProfunctor (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
Promonad p => Promonad (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
(Strong k p, Promonad p, Monoidal k) => Strong k (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
(ThinProfunctor p, Promonad p) => ThinProfunctor (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli Methods arr :: forall (a :: KLEISLI p) (b :: KLEISLI p). (Ob a, Ob b, HasArrow (Kleisli :: KLEISLI p -> KLEISLI p -> Type) a b) => Kleisli a b Source Comments # withArr :: forall (a :: KLEISLI p) (b :: KLEISLI p) r. Kleisli a b -> (HasArrow (Kleisli :: KLEISLI p -> KLEISLI p -> Type) a b => r) -> r Source Comments # | |
(Promonad p, MonoidalProfunctor p) => MonoidalProfunctor (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
Promonad p => Profunctor (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli | |
type HasArrow (Kleisli :: KLEISLI p -> KLEISLI p -> Type) ('KL a :: KLEISLI p) ('KL b :: KLEISLI p) Source Comments # | |
arr :: forall {k} (p :: k +-> k) (a :: k) (b :: k). Promonad p => (a ~> b) -> Kleisli ('KL a :: KLEISLI p) ('KL b :: KLEISLI p) Source Comments #
data KleisliFree (p :: k +-> k) (a :: KLEISLI p) (b :: k) where Source Comments #
Constructors
KleisliFree :: forall {k} (p :: k +-> k) (a1 :: k) (b :: k). p a1 b -> KleisliFree p ('KL a1 :: KLEISLI p) b |
Instances
Promonad p => Profunctor (KleisliFree p :: KLEISLI p -> j -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli | |
Promonad p => Adjunction (KleisliFree p :: KLEISLI p -> k -> Type) (KleisliForget p :: k -> KLEISLI p -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli Methods unit :: forall (a :: k). Ob a => (KleisliForget p :.: KleisliFree p) a a Source Comments # counit :: (KleisliFree p :.: KleisliForget p) :~> ((~>) :: CAT (KLEISLI p)) Source Comments # |
data KleisliForget (p :: k +-> k) (a :: k) (b :: KLEISLI p) where Source Comments #
Constructors
KleisliForget :: forall {k} (p :: k +-> k) (a :: k) (b1 :: k). p a b1 -> KleisliForget p a ('KL b1 :: KLEISLI p) |
Instances
Promonad p => Adjunction (KleisliFree p :: KLEISLI p -> k -> Type) (KleisliForget p :: k -> KLEISLI p -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli Methods unit :: forall (a :: k). Ob a => (KleisliForget p :.: KleisliFree p) a a Source Comments # counit :: (KleisliFree p :.: KleisliForget p) :~> ((~>) :: CAT (KLEISLI p)) Source Comments # | |
Promonad p => Profunctor (KleisliForget p :: k -> KLEISLI p -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli |