Class LiftA2<A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>>

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

public final class LiftA2<A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>> extends Object implements Fn3<Fn2<? super A,? super B,? extends C>,Applicative<A,App>,Applicative<B,App>,AppC>
Lift into and apply an Fn2 to two Applicative values, returning the result inside the same Applicative context. Functionally equivalent to appB.zip(appA.fmap(fn)).
See Also: