Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class Covariant source target t => Traversable source target t where
- (-<<-<<-) :: forall t u v category a b. (Traversable category category t, Covariant category category u, Monoidal (Straight category) category (:*:) (:*:) u, Traversable category category v) => category a (u b) -> category (v (t a)) (u (v (t b)))
Documentation
class Covariant source target t => Traversable source target t where Source #
Let f :: (Applicative t, Applicative g) => t a -> u a Let p :: (Monoidal u category category (:*:) (:*:), Monoidal u category category (:*:) (:*:)) => 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 source target u, Monoidal (Straight source) target (:*:) (:*:) u) => source a (u b) -> target (t a) (u (t b)) infixl 5 Source #
Instances
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Identity Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Edges Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Maybe Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((:*:) s) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Jet t) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Jack t) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Wedge e) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Validation e) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Validation (<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (->) (:*:) (:*:) u) => (a -> u b) -> Validation e a -> u (Validation e b) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (These e) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Instruction t) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Instruction (<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (->) (:*:) (:*:) u) => (a -> u b) -> Instruction t a -> u (Instruction t b) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Construction t) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Construction (<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (->) (:*:) (:*:) u) => (a -> u b) -> Construction t a -> u (Construction t b) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Construction Wye) Source # | |
Defined in Pandora.Paradigm.Structure.Some.Binary | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Conclusion e) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Conclusion (<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (->) (:*:) (:*:) u) => (a -> u b) -> Conclusion e a -> u (Conclusion e b) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <:.> Construction t) => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Comprehension t) Source # | |
Defined in Pandora.Paradigm.Structure.Modification.Comprehension (<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (->) (:*:) (:*:) u) => (a -> u b) -> Comprehension t a -> u (Comprehension t b) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Tap t) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Tap ((t <:.:> t) := (:*:))) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Tap ((List <:.:> List) := (:*:))) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Equipment e) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Tagged tag) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Schematic Monad t u) => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t :> u) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Backwards t) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Reverse t) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Schematic Comonad t u) => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t :< u) Source # | |
Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Prefixed t k) Source # | |
(Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u) => Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <:.> u) Source # | |
(-<<-<<-) :: forall t u v category a b. (Traversable category category t, Covariant category category u, Monoidal (Straight category) category (:*:) (:*:) u, Traversable category category v) => category a (u b) -> category (v (t a)) (u (v (t b))) infixl 5 Source #