Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Pandora.Pattern.Functor.Distributive
Synopsis
- class Covariant_ t source target => Distributive t source target where
- (-<<) :: Covariant_ u source target => source a (t b) -> target (u a) (t (u b))
Documentation
class Covariant_ t source target => Distributive t source target where Source #
Let f :: Distributive g => (a -> g b)
When providing a new instance, you should ensure it satisfies: * Identity morphism: (identity -<<) . (identity -<<) ≡ identity * Interchange collection: (f -<<) ≡ (identity -<<) . (f -<$>-)
Methods
(-<<) :: Covariant_ u source target => source a (t b) -> target (u a) (t (u b)) infixl 5 Source #
Instances
Distributive (Proxy :: Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Proxy | |
Distributive (Imprint e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Inventory.Imprint | |
Distributive (Environment e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Inventory.Environment Methods (-<<) :: Covariant_ u (->) (->) => (a -> Environment e b) -> u a -> Environment e (u b) Source # | |
Distributive (Tagged tag) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Tagged | |
Distributive (Schematic Monad t u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Distributive (t :> u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Distributive t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Distributive (Backwards t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Distributive t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Distributive (Reverse t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Reverse | |
Distributive (Schematic Comonad t u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Distributive (t :< u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Distributive ((->) e :: Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Algebraic.Exponential Methods (-<<) :: Covariant_ u (->) (->) => (a -> (e -> b)) -> u a -> (e -> u b) Source # |