Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 :: PRO 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 (Costar f :.: Star f)
- pattern LiftF :: forall {k1} {k2} (f :: k1 -> k2) (a :: k1) (b :: k1). Functor f => (Ob a, Ob b) => (f a ~> f b) -> Kleisli ('KL a :: KLEISLI (Costar f :.: Star f)) ('KL b :: KLEISLI (Costar f :.: Star 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
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 # | |
(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 |
arr :: forall {k} (p :: PRO 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 => 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 (KleisliFree p :: KLEISLI p -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Kleisli |
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 => Profunctor (KleisliForget p :: j -> KLEISLI p -> 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 # |