- Type Parameters:
S - the larger type for focusing
T - the larger type for mirrored focusing
A - the smaller type for focusing
B - the smaller type for mirrored focusing
- All Implemented Interfaces:
Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>>, Fn2<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<? super T,? extends S>,Fn1<B,A>>, Fn3<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<? super T,? extends S>,B,A>, Applicative<Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>, Cartesian<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<?,?>>, Cocartesian<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<?,?>>, Contravariant<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Profunctor<?,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<?,?>>>, Functor<Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>, Profunctor<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<?,?>>, Monad<Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>, MonadReader<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>, MonadRec<Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>, MonadWriter<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<Fn1<? super T,? extends S>,Fn1<B,A>>,Fn1<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,?>>
public final class Under<S,T,A,B>
extends java.lang.Object
implements Fn3<Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B>,Fn1<? super T,? extends S>,B,A>
The inverse of
Over: given an
Iso, a function from
T to
S, and a "smaller"
value
B, return a "smaller" value
A by traversing around the type ring (
B -> T
-> S -> A).