arrow-mtl / arrow.mtl.extensions / KleisliApplicative

KleisliApplicative

@extension interface KleisliApplicative<F, D> : Applicative<KleisliPartialOf<F, D>>, KleisliApply<F, D>

Functions

AF abstract fun AF(): Applicative<F>
FF open fun FF(): Functor<F>
just open fun <A> just(a: A): Kleisli<F, D, A>
map open fun <A, B> KleisliOf<F, D, A>.map(f: (A) -> B): Kleisli<F, D, B>

Inheritors

KleisliAlternative interface KleisliAlternative<F, D> : Alternative<KleisliPartialOf<F, D>>, KleisliApplicative<F, D>
KleisliApplicativeError interface KleisliApplicativeError<F, D, E> : ApplicativeError<KleisliPartialOf<F, D>, E>, KleisliApplicative<F, D>
KleisliMonad interface KleisliMonad<F, D> : Monad<KleisliPartialOf<F, D>>, KleisliApplicative<F, D>

Do you like Arrow?

Arrow Org