Interface Fn4<A,B,C,D,E>
- Type Parameters:
A
- The first argument typeB
- The second argument typeC
- The third argument typeD
- The fourth argument typeE
- The return type
- All Superinterfaces:
Applicative<Fn1<B,
,Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> Cartesian<A,
,Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<?, ?>> Cocartesian<A,
,Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<?, ?>> Contravariant<A,
,Profunctor<?, Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<?, ?>>> Fn1<A,
,Fn1<B, Fn1<C, Fn1<D, E>>>> Fn2<A,
,B, Fn1<C, Fn1<D, E>>> Fn3<A,
,B, C, Fn1<D, E>> Functor<Fn1<B,
,Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> Monad<Fn1<B,
,Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> MonadReader<A,
,Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> MonadRec<Fn1<B,
,Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> MonadWriter<A,
,Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<A, ?>> Profunctor<A,
Fn1<B, Fn1<C, Fn1<D, E>>>, Fn1<?, ?>>
- All Known Subinterfaces:
BiMonoidFactory<A,
,B, C> BiSemigroupFactory<A,
,B, C> 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>
- All Known Implementing Classes:
Collapse
,Collapse
,IfThenElse
,LiftA3
,LiftA4
,LiftA5
,LiftA6
,LiftA7
,Merge
,Merge
,MergeMaps
,RateLimit
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A function taking four arguments. Defined in terms of
Fn3
, so similarly auto-curried.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionPartially apply this function by taking its first argument.Partially apply this function by taking its first two arguments.Partially apply this function by taking its first three arguments.default E
Invoke this function with the given arguments.checkedApply
(A a, B b, C c) checkedApply
(A a, B b, C c, D d) Right-to-left composition between different arity functions.Contravariantly mapA <- B
.Contravariantly map over the argument to this function, producing a function that takes the new argument type, and produces the same result.discardR
(Applicative<F, Fn1<A, ?>> appB) Sequence both thisApplicative
andappB
, discardingappB's
result and returning thisApplicative
.flip()
Flip the order of the first two arguments.static <A,
B, C, D, E>
Fn4<A, B, C, D, E> static <A,
B, C, D, E>
Fn4<A, B, C, D, E> static <A,
B, C, D, E>
Fn4<A, B, C, D, E> static <A,
B, C, D, E>
Fn4<A, B, C, D, E> Static factory method for coercing a lambda to anFn4
.uncurry()
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
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn3
checkedApply
-
Method Details
-
checkedApply
- Throws:
Throwable
-
apply
Invoke this function with the given arguments.- Parameters:
a
- the first argumentb
- the second argumentc
- the third argumentd
- the fourth argument- Returns:
- the result of the function application
-
checkedApply
-
widen
Widen this function's argument list by prepending an ignored argument of any type to the front. -
apply
Partially apply this function by taking its first argument. -
apply
Partially apply this function by taking its first two arguments. -
apply
Partially apply this function by taking its first three arguments. -
flip
Flip the order of the first two arguments. -
uncurry
-
discardR
Description copied from interface:Fn2
Sequence both thisApplicative
andappB
, discardingappB's
result and returning thisApplicative
. This is generally useful for sequentially performing side-effects.- Specified by:
discardR
in interfaceApplicative<A,
B> - Specified by:
discardR
in interfaceFn1<A,
B> - Specified by:
discardR
in interfaceFn2<A,
B, C> - Specified by:
discardR
in interfaceFn3<A,
B, C, D> - Specified by:
discardR
in interfaceMonad<A,
B> - Specified by:
discardR
in interfaceMonadReader<A,
B, C> - Specified by:
discardR
in interfaceMonadRec<A,
B> - Specified by:
discardR
in interfaceMonadWriter<A,
B, C> - Type Parameters:
F
- the type of appB's parameter- Parameters:
appB
- the other Applicative- Returns:
- this Applicative
-
diMapL
Description copied from interface:Fn2
Contravariantly map over the argument to this function, producing a function that takes the new argument type, and produces the same result.- Specified by:
diMapL
in interfaceCartesian<A,
B, C> - Specified by:
diMapL
in interfaceCocartesian<A,
B, C> - Specified by:
diMapL
in interfaceFn1<A,
B> - Specified by:
diMapL
in interfaceFn2<A,
B, C> - Specified by:
diMapL
in interfaceFn3<A,
B, C, D> - Specified by:
diMapL
in interfaceProfunctor<A,
B, C> - Type Parameters:
Z
- the new argument type- Parameters:
fn
- the contravariant argument mapping function- Returns:
- an
Fn1
<Z, B>
-
contraMap
Description copied from interface:Fn2
Contravariantly mapA <- B
.- Specified by:
contraMap
in interfaceCartesian<A,
B, C> - Specified by:
contraMap
in interfaceCocartesian<A,
B, C> - Specified by:
contraMap
in interfaceContravariant<A,
B> - Specified by:
contraMap
in interfaceFn1<A,
B> - Specified by:
contraMap
in interfaceFn2<A,
B, C> - Specified by:
contraMap
in interfaceFn3<A,
B, C, D> - Specified by:
contraMap
in interfaceProfunctor<A,
B, C> - Type Parameters:
Z
- the new parameter type- Parameters:
fn
- the mapping function- Returns:
- the mapped Contravariant functor instance
-
compose
Description copied from interface:Fn2
Right-to-left composition between different arity functions. Preserves highest arity in the return type.- Specified by:
compose
in interfaceFn1<A,
B> - Specified by:
compose
in interfaceFn2<A,
B, C> - Specified by:
compose
in interfaceFn3<A,
B, C, D> - 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>
-
fn4
- Type Parameters:
A
- the first input argument typeB
- the second input argument typeC
- the third input argument typeD
- the fourth input argument typeE
- the output type- Parameters:
curriedFn1
- the curried fn1 to adapt- Returns:
- the
Fn4
-
fn4
- Type Parameters:
A
- the first input argument typeB
- the second input argument typeC
- the third input argument typeD
- the fourth input argument typeE
- the output type- Parameters:
curriedFn2
- the curried fn2 to adapt- Returns:
- the
Fn4
-
fn4
- Type Parameters:
A
- the first input argument typeB
- the second input argument typeC
- the third input argument typeD
- the fourth input argument typeE
- the output type- Parameters:
curriedFn3
- the curried fn3 to adapt- Returns:
- the
Fn4
-
fn4
Static factory method for coercing a lambda to anFn4
.- Type Parameters:
A
- the first input argument typeB
- the second input argument typeC
- the third input argument typeD
- the fourth input argument typeE
- the output type- Parameters:
fn
- the lambda to coerce- Returns:
- the
Fn4
-