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 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:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncheckedApply
(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> 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 Details
-
INSTANCE
-
-
Constructor Details
-
LiftA3
private LiftA3()
-
-
Method Details
-
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, LiftA3<A,C, D, App extends Applicative<?, App>, AppD extends Applicative<D, App>> B, liftA3()C, D, App, AppD> -
liftA3
public static <A,B, Fn3<Applicative<A,C, D, App extends Applicative<?, App>, AppD extends Applicative<D, App>> App>, liftA3Applicative<B, App>, Applicative<C, App>, AppD> (Fn3<A, B, C, D> fn) -
liftA3
public static <A,B, Fn2<Applicative<B,C, D, App extends Applicative<?, App>, AppD extends Applicative<D, App>> App>, liftA3Applicative<C, App>, AppD> (Fn3<A, B, C, D> fn, Applicative<A, App> appA) -
liftA3
public static <A,B, Fn1<Applicative<C,C, D, App extends Applicative<?, App>, AppD extends Applicative<D, App>> App>, liftA3AppD> (Fn3<A, B, C, D> fn, Applicative<A, App> appA, Applicative<B, App> appB) -
liftA3
public static <A,B, AppD liftA3C, D, App extends Applicative<?, App>, AppD extends Applicative<D, App>> (Fn3<A, B, C, D> fn, Applicative<A, App> appA, Applicative<B, App> appB, Applicative<C, App> appC)
-