Idris2Doc : Data.Profunctor.Traversing

Data.Profunctor.Traversing

(source)

Definitions

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