wanderDef : Profunctor p => (Traversable f => p a b -> p (f a) (f b)) -> (Applicative f => (a -> f b) -> s -> f t) -> p a b -> p s t- Totality: total
Visibility: public export interface Traversing : (Type -> Type -> Type) -> Type The interface of profunctors that implement `wander`.
NOTE: Definitions in terms of `wander` are much more efficient!
Laws:
* `traverse' = wander traverse`
* `traverse' . lmap f = lmap (map f) . traverse'`
* `traverse' . rmap f = rmap (map f) . traverse'`
* `traverse' . traverse' = traverse' @{Compose}`
* `dimap Id runIdentity . traverse' = id`
Parameters: p
Constraints: Strong p, Choice p
Methods:
traverse' : Traversable f => p a b -> p (f a) (f b) wander : (Applicative f => (a -> f b) -> s -> f t) -> p a b -> p s t
Implementations:
Traversing Morphism Applicative f => Traversing (Kleislimorphism f) Applicative f => Traversing (Star f) Monoid r => Traversing (Forget r) Profunctor p => Traversing (CofreeTraversing p) Traversing (FreeTraversing p)
traverse' : Traversing p => Traversable f => p a b -> p (f a) (f b)- Totality: total
Visibility: public export wander : Traversing p => (Applicative f => (a -> f b) -> s -> f t) -> p a b -> p s t- Totality: total
Visibility: public export record CofreeTraversing : (Type -> Type -> Type) -> Type -> Type -> Type The comonad generated by the reflective subcategory of profunctors that
implement `Traversing`.
Totality: total
Visibility: public export
Constructor: MkCFT : (Traversable f => p (f a) (f b)) -> CofreeTraversing p a b
Projection: .runCFT : CofreeTraversing p a b -> Traversable f => p (f a) (f b)
Hints:
Profunctor p => Functor (CofreeTraversing p a) Profunctor p => GenStrong Pair (CofreeTraversing p) Profunctor p => GenStrong Either (CofreeTraversing p) Profunctor p => Profunctor (CofreeTraversing p) ProfunctorComonad CofreeTraversing ProfunctorFunctor CofreeTraversing Profunctor p => Traversing (CofreeTraversing p)
.runCFT : CofreeTraversing p a b -> Traversable f => p (f a) (f b)- Totality: total
Visibility: public export runCFT : CofreeTraversing p a b -> Traversable f => p (f a) (f b)- Totality: total
Visibility: public export cofreeTraversing : Traversing p => p :-> q -> p :-> CofreeTraversing q- Totality: total
Visibility: public export uncofreeTraversing : Profunctor q => p :-> CofreeTraversing q -> p :-> q- Totality: total
Visibility: public export data FreeTraversing : (Type -> Type -> Type) -> Type -> Type -> Type The monad generated by the reflective subcategory of profunctors that
implement `Traversing`.
Totality: total
Visibility: public export
Constructor: MkFT : Traversable f => (f y -> b) -> p x y -> (a -> f x) -> FreeTraversing p a b
Hints:
GenStrong Pair (FreeTraversing p) GenStrong Either (FreeTraversing p) Profunctor (FreeTraversing p) ProfunctorFunctor FreeTraversing ProfunctorMonad FreeTraversing Traversing (FreeTraversing p)
freeTraversing : Traversing q => p :-> q -> FreeTraversing p :-> q- Totality: total
Visibility: public export unfreeTraversing : FreeTraversing p :-> q -> p :-> q- Totality: total
Visibility: public export