- 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
).