Class Set<S,T,A,B>
java.lang.Object
com.jnape.palatable.lambda.optics.functions.Set<S,T,A,B>
- Type Parameters:
S
- the type of the larger valueT
- the type of the larger updated valueA
- 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 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:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn1
andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, lazyZip, listens, local, pure, self, thunk, toFunction, trampolineM, zip, zip
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn2
checkedApply, toBiFunction