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