arrow-mtl / arrow.mtl.extensions / OptionTMonad

OptionTMonad

@extension interface OptionTMonad<F> : Monad<OptionTPartialOf<F>>, OptionTApplicative<F>

Functions

AF open fun AF(): Applicative<F>
ap open fun <A, B> OptionTOf<F, A>.ap(ff: OptionTOf<F, (A) -> B>): OptionT<F, B>
flatMap open fun <A, B> OptionTOf<F, A>.flatMap(f: (A) -> OptionTOf<F, B>): OptionT<F, B>
map open fun <A, B> OptionTOf<F, A>.map(f: (A) -> B): OptionT<F, B>
MF abstract fun MF(): Monad<F>
tailRecM open fun <A, B> tailRecM(a: A, f: (A) -> OptionTOf<F, Either<A, B>>): OptionT<F, B>

Inheritors

OptionTMonadError interface OptionTMonadError<F, E> : MonadError<OptionTPartialOf<F>, E>, OptionTMonad<F>, OptionTApplicativeError<F, E>