Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Exponentiation of a Functor
by a Functor
.
For reference:
Powers of polynomial monads by David Spivak https://topos.site/blog/2023/09/powers-of-polynomial-monads/
Documentation
Instances
FFunctor (Exp1 f) Source # | |
Functor f => FMonad (Exp1 f) Source # |
|
Functor f => FStrong (Exp1 f) Source # | |
(Comonad f, Monad g) => Alternative (Exp1 f g) Source # | |
(Functor f, Monad g) => Applicative (Exp1 f g) Source # | |
Functor (Exp1 f g) Source # | |
(Functor f, Monad g) => Monad (Exp1 f g) Source # | |
Functor f => Adjunction ((:*:) f) (Exp1 f) Source # | |
Defined in FFunctor.Adjunction unit :: forall (g :: Type -> Type). Functor g => g ~> Exp1 f (f :*: g) Source # counit :: forall (g :: Type -> Type). Functor g => (f :*: Exp1 f g) ~> g Source # leftAdjunct :: forall (g :: Type -> Type) (h :: Type -> Type). (Functor g, Functor h) => ((f :*: g) ~> h) -> g ~> Exp1 f h Source # rightAdjunct :: forall (g :: Type -> Type) (h :: Type -> Type). (Functor g, Functor h) => (g ~> Exp1 f h) -> (f :*: g) ~> h Source # | |
(Comonad f, Monad g) => Monoid (Exp1 f g a) Source # | Equivalent to |
(Comonad f, Monad g) => Semigroup (Exp1 f g a) Source # | Equivalent to |