Interface Fn3<A,B,C,D>
-
- Type Parameters:
A- The first argument typeB- The second argument typeC- The third argument typeD- The return type
- All Superinterfaces:
Applicative<Fn1<B,Fn1<C,D>>,Fn1<A,?>>,Cartesian<A,Fn1<B,Fn1<C,D>>,Fn1<?,?>>,Cocartesian<A,Fn1<B,Fn1<C,D>>,Fn1<?,?>>,Contravariant<A,Profunctor<?,Fn1<B,Fn1<C,D>>,Fn1<?,?>>>,Fn1<A,Fn1<B,Fn1<C,D>>>,Fn2<A,B,Fn1<C,D>>,Functor<Fn1<B,Fn1<C,D>>,Fn1<A,?>>,Monad<Fn1<B,Fn1<C,D>>,Fn1<A,?>>,MonadReader<A,Fn1<B,Fn1<C,D>>,Fn1<A,?>>,MonadRec<Fn1<B,Fn1<C,D>>,Fn1<A,?>>,MonadWriter<A,Fn1<B,Fn1<C,D>>,Fn1<A,?>>,Profunctor<A,Fn1<B,Fn1<C,D>>,Fn1<?,?>>
- All Known Subinterfaces:
BiMonoidFactory<A,B,C>,BiSemigroupFactory<A,B,C>,Fn4<A,B,C,D,E>,Fn5<A,B,C,D,E,F>,Fn6<A,B,C,D,E,F,G>,Fn7<A,B,C,D,E,F,G,H>,Fn8<A,B,C,D,E,F,G,H,I>,MonoidFactory<A,B>,SemigroupFactory<A,B>
- All Known Implementing Classes:
Absent,AddAll,Between,Both,Bracket,Clamp,CmpEqBy,CmpEqWith,Collapse,Collapse,Compare,Compose,Compose,EndoK,FoldLeft,FoldRight,GTBy,GTEBy,GTEWith,GTWith,IfThenElse,LeftAll,LeftAll,LeftAny,LeftAny,LiftA2,LiftA3,LiftA4,LiftA5,LiftA6,LiftA7,LTBy,LTEBy,LTEWith,LTWith,MaxBy,MaxWith,Merge,Merge,MergeMaps,MinBy,MinWith,Over,Peek2,Present,RateLimit,RightAll,RightAll,RightAny,RightAny,RunAll,RunAll,ScanLeft,Set,Times,Under,ZipWith
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Fn3<A,B,C,D> extends Fn2<A,B,Fn1<C,D>>
A function taking three arguments. Defined in terms ofFn2, so similarly auto-curried.- See Also:
Fn2
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Fn2<B,C,D>apply(A a)Partially apply this function by taking its first argument.default Fn1<C,D>apply(A a, B b)Partially apply this function by taking its first two arguments.default Dapply(A a, B b, C c)Invoke this function with the given arguments.default Fn1<C,D>checkedApply(A a, B b)DcheckedApply(A a, B b, C c)default <Y,Z>
Fn4<Y,Z,B,C,D>compose(Fn2<? super Y,? super Z,? extends A> before)Right-to-left composition between different arity functions.default <Z> Fn3<Z,B,C,D>contraMap(Fn1<? super Z,? extends A> fn)Contravariantly mapA <- B.default <Z> Fn3<Z,B,C,D>diMapL(Fn1<? super Z,? extends A> fn)Contravariantly map over the argument to this function, producing a function that takes the new argument type, and produces the same result.default <E> Fn3<A,B,C,D>discardR(Applicative<E,Fn1<A,?>> appB)Sequence both thisApplicativeandappB, discardingappB'sresult and returning thisApplicative.default Fn3<B,A,C,D>flip()Flip the order of the first two arguments.static <A,B,C,D>
Fn3<A,B,C,D>fn3(Fn1<A,Fn2<B,C,D>> curriedFn1)static <A,B,C,D>
Fn3<A,B,C,D>fn3(Fn2<A,B,Fn1<C,D>> curriedFn2)static <A,B,C,D>
Fn3<A,B,C,D>fn3(Fn3<A,B,C,D> fn)Static factory method for coercing a lambda to anFn3.default Fn2<? super Product2<? extends A,? extends B>,C,D>uncurry()default <Z> Fn4<Z,A,B,C,D>widen()Widen this function's argument list by prepending an ignored argument of any type to the front.-
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
-
-
-
-
Method Detail
-
apply
default D apply(A a, B b, C c)
Invoke this function with the given arguments.- Parameters:
a- the first argumentb- the second argumentc- the third argument- Returns:
- the result of the function application
-
checkedApply
default Fn1<C,D> checkedApply(A a, B b) throws java.lang.Throwable
- Specified by:
checkedApplyin interfaceFn2<A,B,C>- Throws:
java.lang.Throwable
-
widen
default <Z> Fn4<Z,A,B,C,D> widen()
Widen this function's argument list by prepending an ignored argument of any type to the front.
-
apply
default Fn1<C,D> apply(A a, B b)
Partially apply this function by taking its first two arguments.
-
discardR
default <E> Fn3<A,B,C,D> discardR(Applicative<E,Fn1<A,?>> appB)
Description copied from interface:Fn2Sequence both thisApplicativeandappB, discardingappB'sresult and returning thisApplicative. This is generally useful for sequentially performing side-effects.- Specified by:
discardRin interfaceApplicative<A,B>- Specified by:
discardRin interfaceFn1<A,B>- Specified by:
discardRin interfaceFn2<A,B,C>- Specified by:
discardRin interfaceMonad<A,B>- Specified by:
discardRin interfaceMonadReader<A,B,C>- Specified by:
discardRin interfaceMonadRec<A,B>- Specified by:
discardRin interfaceMonadWriter<A,B,C>- Type Parameters:
E- the type of appB's parameter- Parameters:
appB- the other Applicative- Returns:
- this Applicative
-
diMapL
default <Z> Fn3<Z,B,C,D> diMapL(Fn1<? super Z,? extends A> fn)
Description copied from interface:Fn2Contravariantly map over the argument to this function, producing a function that takes the new argument type, and produces the same result.- Specified by:
diMapLin interfaceCartesian<A,B,C>- Specified by:
diMapLin interfaceCocartesian<A,B,C>- Specified by:
diMapLin interfaceFn1<A,B>- Specified by:
diMapLin interfaceFn2<A,B,C>- Specified by:
diMapLin interfaceProfunctor<A,B,C>- Type Parameters:
Z- the new argument type- Parameters:
fn- the contravariant argument mapping function- Returns:
- an
Fn1<Z, B>
-
contraMap
default <Z> Fn3<Z,B,C,D> contraMap(Fn1<? super Z,? extends A> fn)
Description copied from interface:Fn2Contravariantly mapA <- B.- Specified by:
contraMapin interfaceCartesian<A,B,C>- Specified by:
contraMapin interfaceCocartesian<A,B,C>- Specified by:
contraMapin interfaceContravariant<A,B>- Specified by:
contraMapin interfaceFn1<A,B>- Specified by:
contraMapin interfaceFn2<A,B,C>- Specified by:
contraMapin interfaceProfunctor<A,B,C>- Type Parameters:
Z- the new parameter type- Parameters:
fn- the mapping function- Returns:
- the mapped Contravariant functor instance
-
compose
default <Y,Z> Fn4<Y,Z,B,C,D> compose(Fn2<? super Y,? super Z,? extends A> before)
Description copied from interface:Fn2Right-to-left composition between different arity functions. Preserves highest arity in the return type.- Specified by:
composein interfaceFn1<A,B>- Specified by:
composein interfaceFn2<A,B,C>- Type Parameters:
Y- the resulting function's first argument typeZ- the resulting function's second argument type- Parameters:
before- the function to pass its return value to this function's input- Returns:
- an
Fn2<Y, Z, B>
-
fn3
static <A,B,C,D> Fn3<A,B,C,D> fn3(Fn1<A,Fn2<B,C,D>> curriedFn1)
- Type Parameters:
A- the first input argument typeB- the second input argument typeC- the third input argument typeD- the output type- Parameters:
curriedFn1- the curried fn1 to adapt- Returns:
- the
Fn3
-
fn3
static <A,B,C,D> Fn3<A,B,C,D> fn3(Fn2<A,B,Fn1<C,D>> curriedFn2)
- Type Parameters:
A- the first input argument typeB- the second input argument typeC- the third input argument typeD- the output type- Parameters:
curriedFn2- the curried fn2 to adapt- Returns:
- the
Fn3
-
fn3
static <A,B,C,D> Fn3<A,B,C,D> fn3(Fn3<A,B,C,D> fn)
Static factory method for coercing a lambda to anFn3.- Type Parameters:
A- the first input argument typeB- the second input argument typeC- the third input argument typeD- the output type- Parameters:
fn- the lambda to coerce- Returns:
- the
Fn3
-
-