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