- Type Parameters:
S
- the type of the larger value
T
- the type of the larger updated value
A
- the type of the smaller retrieving value (unused, but necessary for composition)
B
- the type of the smaller setting value
- All Implemented Interfaces:
Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>>
, Fn2<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,B,Fn1<S,T>>
, Fn3<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,B,S,T>
, Applicative<Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
, Cartesian<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>,Fn1<?,?>>
, Cocartesian<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>,Fn1<?,?>>
, Contravariant<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Profunctor<?,Fn1<B,Fn1<S,T>>,Fn1<?,?>>>
, Functor<Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
, Profunctor<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>,Fn1<?,?>>
, Monad<Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
, MonadReader<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
, MonadRec<Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
, MonadWriter<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,Fn1<B,Fn1<S,T>>,Fn1<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,?>>
public final class Set<S,T,A,B>
extends java.lang.Object
implements Fn3<Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B>,B,S,T>
Given an
Optic
, a "smaller" value
B
, and a "larger" value
S
, produce a
T
by lifting the
Optic
into the
Identity
functor.
More idiomatically, this function can be used to treat an Optic
as a "setter" of
B
s on S
s, potentially producing a different "larger" value, T
.
- See Also:
Over
,
View