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 typeB
- the function's second argument typeC
- the function's third argument typeD
- the function's return typeApp
- the applicative witnessAppD
- 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 java.lang.Object implements Fn4<Fn3<A,B,C,D>,Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,AppD>
Lift into and apply anFn3
to threeApplicative
values, returning the result inside the sameApplicative
context.- See Also:
Applicative.zip(Applicative)
-
-
Constructor Summary
Constructors Modifier Constructor Description private
LiftA3()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AppD
checkedApply(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB, Applicative<C,App> appC)
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
LiftA3<A,B,C,D,App,AppD>liftA3()
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Fn3<Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,AppD>liftA3(Fn3<A,B,C,D> fn)
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Fn2<Applicative<B,App>,Applicative<C,App>,AppD>liftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA)
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Fn1<Applicative<C,App>,AppD>liftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB)
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
AppDliftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB, Applicative<C,App> appC)
-
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
-
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn3
checkedApply
-
-
-
-
Field Detail
-
INSTANCE
private static final LiftA3<?,?,?,?,?,?> INSTANCE
-
-
Method Detail
-
checkedApply
public AppD checkedApply(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB, Applicative<C,App> appC)
- Specified by:
checkedApply
in interfaceFn4<A,B,C,D,App extends Applicative<?,App>>
-
liftA3
public static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> LiftA3<A,B,C,D,App,AppD> liftA3()
-
liftA3
public static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> Fn3<Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,AppD> liftA3(Fn3<A,B,C,D> fn)
-
liftA3
public static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> Fn2<Applicative<B,App>,Applicative<C,App>,AppD> liftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA)
-
liftA3
public static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> Fn1<Applicative<C,App>,AppD> liftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB)
-
liftA3
public static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> AppD liftA3(Fn3<A,B,C,D> fn, Applicative<A,App> appA, Applicative<B,App> appB, Applicative<C,App> appC)
-
-