- All Superinterfaces:
Functor<F>, Invariant<F>
- All Known Subinterfaces:
Alternative<F>, ApplicativeError<F,E>, Async<F>, Bracket<F,E>, ComposedAlternative<F,G>, ComposedApplicative<F,G>, Concurrent<F>, ConstApplicative<T>, EIOApplicative<E>, EIOAsync, EIOBracket<E>, EIOConcurrent, EIOMonad<E>, EIOMonadDefer, EIOMonadError<E>, EIOMonadThrow, EIOPure<E>, EitherApplicative<L>, EitherMonad<L>, EitherMonadError<L>, EitherMonadThrow, EitherPure<L>, EitherTBracket<F,E>, EitherTMonad<F,L>, EitherTMonadDefer<F>, EitherTMonadErrorFromMonad<F,E>, EitherTMonadErrorFromMonadError<F,E>, EitherTMonadThrowFromMonad<F>, EitherTMonadThrowFromMonadThrow<F>, EvalApplicative, EvalMonad, EvalMonadError, EvalMonadThrow, EvalPure, FreeApplicative<F>, FreeMonad<F>, Function1Applicative<T>, Function1Monad<T>, Function1Pure<T>, FutureApplicative, FutureMonad, FutureMonadThrow, FuturePure, IdApplicative, IdMonad, IdPure, IOApplicative, IOAsync, IOBracket, IOConcurrent, IOMonad, IOMonadDefer, IOMonadError, IOMonadThrow, IOPure, KleisliMonad<F,Z>, KleisliMonadError<F,R,E>, KleisliMonadReader<F,R>, KleisliMonadState<F,R,S>, Monad<F>, MonadDefer<F>, MonadError<F,E>, MonadReader<F,R>, MonadState<F,S>, MonadThrow<F>, MonadWriter<F,W>, OptionAlternative, OptionApplicative, OptionMonad, OptionMonadError, OptionPure, OptionTBracket<F>, OptionTMonad<F>, OptionTMonadDefer<F>, OptionTMonadErrorFromMonad<F>, OptionTMonadErrorFromMonadError<F,E>, OptionTMonadThrow<F>, ProducerApplicative, ProducerMonad, ProducerPure, PromiseApplicative, PromiseMonad, PromisePure, PureIOApplicative<R,E>, PureIOAsync<R>, PureIOBracket<R,E>, PureIOConcurrent<R>, PureIOMonad<R,E>, PureIOMonadDefer<R>, PureIOMonadError<R,E>, PureIOMonadThrow<R>, PureIOPure<R,E>, PureStreamMonad<F>, PureStreamPure<F>, ReaderMonad<R>, ReaderMonadReader<R>, RIOApplicative<R>, RIOAsync<R>, RIOBracket<R>, RIOConcurrent<R>, RIOMonad<R>, RIOMonadDefer<R>, RIOMonadError<R>, RIOMonadThrow<R>, RIOPure<R>, Selective<F>, SequenceAlternative, SequenceApplicative, SequenceMonad, SequencePure, StateMonad<S>, StateMonadState<S>, StateTMonad<F,S>, StateTMonadError<F,S,E>, StateTMonadReader<F,S,R>, StateTMonadState<F,S>, TaskApplicative, TaskAsync, TaskBracket, TaskConcurrent, TaskMonad, TaskMonadDefer, TaskMonadError, TaskMonadThrow, TaskPure, TrampolineApplicative, TrampolineMonad, TrampolinePure, TryApplicative, TryMonad, TryMonadError, TryMonadThrow, TryPure, UIOApplicative, UIOAsync, UIOBracket, UIOConcurrent, UIOMonad, UIOMonadDefer, UIOMonadError, UIOMonadThrow, UIOPure, URIOApplicative<R>, URIOAsync<R>, URIOBracket<R>, URIOConcurrent<R>, URIOMonad<R>, URIOMonadDefer<R>, URIOMonadError<R>, URIOMonadThrow<R>, URIOPure<R>, ValidationApplicative<E>, ValidationMonad<E>, ValidationMonadError<E>, ValidationMonadThrow, ValidationPure<E>, ValidationSelective<E>, WriterMonad<L>, WriterTMonad<F,L>, WriterTMonadError<F,L,E>, WriterTMonadWriter<F,L>
- All Known Implementing Classes:
EffectEMonadError, EffectRMonad, EffectRMonadError, EffectRMonadReader, MonadMTL, ReferenceMonadState
public interface Applicative<F extends Kind<F,?>>
extends Functor<F>
-
Nested Class Summary
Nested Classes
static final record
static final record
static final record
static final record
-
Method Summary
default <A,
B,
R> Kind<F,R>
default <A,
B,
C,
R>
Kind<F,R>
default <A,
B,
C,
D,
R>
Kind<F,R>
mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Function4<? super A,? super B,? super C,? super D,? extends R> mapper)
default <A,
B,
C,
D,
E,
R>
Kind<F,R>
mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Kind<F,? extends E> fe,
Function5<? super A,? super B,? super C,? super D,? super E,? extends R> mapper)
Methods inherited from interface com.github.tonivade.purefun.typeclasses.Functor
imap, lift
-
Method Details
-
pure
<T> Kind<F,T> pure(T value)
-
-
-
-
tuple
default <A,
B,
C> Kind<F,Tuple3<A,B,C>> tuple(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc)
-
tuple
default <A,
B,
C,
D> Kind<F,Tuple4<A,B,C,D>> tuple(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd)
-
tuple
default <A,
B,
C,
D,
E> Kind<F,Tuple5<A,B,C,D,E>> tuple(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Kind<F,? extends E> fe)
-
mapN
default <A,
B,
R> Kind<F,R> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Function2<? super A,? super B,? extends R> mapper)
-
-
mapN
default <A,
B,
C,
R> Kind<F,R> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Function3<? super A,? super B,? super C,? extends R> mapper)
-
mapN
default <A,
B,
C> Applicative.Map3<F,A,B,C> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc)
-
mapN
default <A,
B,
C,
D,
R> Kind<F,R> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Function4<? super A,? super B,? super C,? super D,? extends R> mapper)
-
mapN
default <A,
B,
C,
D> Applicative.Map4<F,A,B,C,D> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd)
-
mapN
default <A,
B,
C,
D,
E,
R> Kind<F,R> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Kind<F,? extends E> fe,
Function5<? super A,? super B,? super C,? super D,? super E,? extends R> mapper)
-
mapN
default <A,
B,
C,
D,
E>
Applicative.Map5<F,A,B,C,D,E> mapN(Kind<F,? extends A> fa,
Kind<F,? extends B> fb,
Kind<F,? extends C> fc,
Kind<F,? extends D> fd,
Kind<F,? extends E> fe)
-
first
default <A,
B> Kind<F,A> first(Kind<F,? extends A> fa,
Kind<F,? extends B> fb)
-
last
default <A,
B> Kind<F,B> last(Kind<F,? extends A> fa,
Kind<F,? extends B> fb)
-