Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class Covariant t source target => Traversable t source target where
- (-<<-<<-) :: forall t u v category a b. (Traversable t category category, Covariant u category category, Pointable u category, Semimonoidal u category (:*:) (:*:), Traversable v category category) => category a (u b) -> category (v (t a)) (u (v (t b)))
Documentation
class Covariant t source target => Traversable t source target where Source #
Let f :: (Applicative t, Applicative g) => t a -> u a Let p :: (Pointable t, Pointable g) => t a -> u a
When providing a new instance, you should ensure it satisfies: * Numeratority of traversing: g . (f <<--) ≡ (g . f <<--) * Numeratority of sequencing: f . (identity <<--)= (identity <<--) . (f -<$>-) * Preserving point: p (point x) ≡ point x * Preserving apply: f (x -<*>- y) ≡ f x -<*>- f y
(<<-) :: (Covariant u source target, Pointable u target, Semimonoidal u target (:*:) (:*:)) => source a (u b) -> target (t a) (u (t b)) infixl 5 Source #
Instances
Traversable Identity ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable Edges ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable Maybe ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable ((:*:) s) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Jack t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Wedge e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (These e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Validation e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Validation (<<-) :: (Covariant u (->) (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Validation e a -> u (Validation e b) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Jet t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Instruction t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Instruction (<<-) :: (Covariant u (->) (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Instruction t a -> u (Instruction t b) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Construction t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Construction (<<-) :: (Covariant u (->) (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Construction t a -> u (Construction t b) Source # | |
Traversable (Conclusion e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Conclusion (<<-) :: (Covariant u (->) (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Conclusion e a -> u (Conclusion e b) Source # | |
Traversable (t <:.> Construction t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Comprehension t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Structure.Modification.Comprehension (<<-) :: (Covariant u (->) (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Comprehension t a -> u (Comprehension t b) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Tap t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Tap ((t <:.:> t) := (:*:))) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Tap ((List <:.:> List) := (:*:))) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Equipment e) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Tagged tag) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Schematic Monad t u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (t :> u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Backwards t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Reverse t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable (Schematic Comonad t u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (t :< u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Traversable (Prefixed t k) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
(Traversable t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Traversable u ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type)) => Traversable (t <:.> u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
(-<<-<<-) :: forall t u v category a b. (Traversable t category category, Covariant u category category, Pointable u category, Semimonoidal u category (:*:) (:*:), Traversable v category category) => category a (u b) -> category (v (t a)) (u (v (t b))) infixl 5 Source #