S
- The input object type.T
- The output object type.A
- The input field type.B
- The output field type.public interface Traversal<S,T,A,B> extends Wander<S::A,T::B>, Optic<TraversalP _,S::A,T::B>
The operation performed by traversals is analogous to Traversable
,
which defines a structure-preserving transformation in the context of an effectful transformation.
Traversable
Modifier and Type | Interface and Description |
---|---|
static class |
Traversal.Instance<A2,B2>
The
TraversalP type class instance for Traversal . |
Modifier and Type | Method and Description |
---|---|
default <P extends K2> |
eval(TraversalP P proof)
Produces a function that takes a transformation between field types and produces a transformation between
object types.
|
compose, composeUnchecked, upCast
default <P extends K2> (P<A,B>) -> P<S,T> eval(TraversalP P proof)
eval
in interface Optic<TraversalP _,S::A,T::B>
P
- The transformation type.proof
- The profunctor associated with this optic.Wander.wander(Applicative, FunctionType)