Class LiftA3<A, B, C, D, App extends Applicative<?,App>, AppD extends Applicative<D,App>>

java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn4.LiftA3<A,B,C,D,App,AppD>
Type Parameters:
A - the function's first argument type
B - the function's second argument type
C - the function's third argument type
D - the function's return type
App - the applicative witness
AppD - the inferred applicative return type
All Implemented Interfaces:
Fn1<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>>, Fn2<Fn3<A,B,C,D>, Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn3<Fn3<A,B,C,D>, Applicative<A,App>, Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>, Fn4<Fn3<A,B,C,D>, Applicative<A,App>, Applicative<B,App>, Applicative<C,App>, AppD>, Applicative<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>, Cartesian<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<?,?>>, Cocartesian<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<?,?>>, Contravariant<Fn3<A,B,C,D>, Profunctor<?, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<?,?>>>, Functor<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>, Profunctor<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<?,?>>, Monad<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>, MonadReader<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>, MonadRec<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>, MonadWriter<Fn3<A,B,C,D>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, Fn1<Applicative<C,App>, AppD>>>, Fn1<Fn3<A,B,C,D>, ?>>

public final class LiftA3<A, B, C, D, App extends Applicative<?,App>, AppD extends Applicative<D,App>> extends Object implements Fn4<Fn3<A,B,C,D>, Applicative<A,App>, Applicative<B,App>, Applicative<C,App>, AppD>
Lift into and apply an Fn3 to three Applicative values, returning the result inside the same Applicative context.
See Also: