Module
Matryoshka.DistributiveLaw
- Package
- purescript-matryoshka
- Repository
- purescript-contrib/purescript-matryoshka
#DistributiveLaw Source
type DistributiveLaw :: (Type -> Type) -> (Type -> Type) -> Type
type DistributiveLaw f g = forall a. f (g a) -> g (f a)
#distApplicative Source
distApplicative :: forall f g. Traversable f => Applicative g => DistributiveLaw f g
#distDistributive Source
distDistributive :: forall f g. Traversable f => Distributive g => DistributiveLaw f g
#distPara Source
distPara :: forall t f. Corecursive t f => DistributiveLaw f (Tuple t)
#distParaT Source
distParaT :: forall t f w. Corecursive t f => Comonad w => DistributiveLaw f w -> DistributiveLaw f (EnvT t w)
#distZygoT Source
distZygoT :: forall f w a. Functor f => Comonad w => Algebra f a -> DistributiveLaw f w -> DistributiveLaw f (EnvT a w)
#distGHisto Source
distGHisto :: forall f h. Functor f => Functor h => DistributiveLaw f h -> DistributiveLaw f (Cofree h)
#distGApoT Source
distGApoT :: forall f m a. Functor f => Functor m => Coalgebra f a -> DistributiveLaw m f -> DistributiveLaw (ExceptT a m) f
#distGFutu Source
distGFutu :: forall f h. Functor f => Functor h => DistributiveLaw h f -> DistributiveLaw (Free h) f