eitherMonad

given eitherMonad[L]: Monad[[_] =>> Either[L, _$2]]

Value members

Concrete methods

def bind[A, B](fa: Either[L, A])(f: A => Either[L, B]): Either[L, B]
def point[A](a: => A): Either[L, A]
override
def tailrecM[A, B](a: A)(f: A => Either[L, Either[A, B]]): Either[L, B]
Definition Classes

Inherited methods

def ap[A, B](fa: => Either[L, A])(f: => Either[L, A => B]): Either[L, B]
Inherited from
Monad
def ap2[A, B, C](fa: => Either[L, A], fb: => Either[L, B])(f: Either[L, (A, B) => C]): Either[L, C]
Inherited from
Applicative
def ap3[A, B, C, D](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C])(f: Either[L, (A, B, C) => D]): Either[L, D]
Inherited from
Applicative
def ap4[A, B, C, D, E](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D])(f: Either[L, (A, B, C, D) => E]): Either[L, E]
Inherited from
Applicative
def ap5[A, B, C, D, E, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E])(f: Either[L, (A, B, C, D, E) => R]): Either[L, R]
Inherited from
Applicative
def ap6[A, B, C, D, E, FF, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF])(f: Either[L, (A, B, C, D, E, FF) => R]): Either[L, R]
Inherited from
Applicative
def ap7[A, B, C, D, E, FF, G, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G])(f: Either[L, (A, B, C, D, E, FF, G) => R]): Either[L, R]
Inherited from
Applicative
def ap8[A, B, C, D, E, FF, G, H, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H])(f: Either[L, (A, B, C, D, E, FF, G, H) => R]): Either[L, R]
Inherited from
Applicative
def apply10[A, B, C, D, E, FF, G, H, I, J, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H], fi: => Either[L, I], fj: => Either[L, J])(f: (A, B, C, D, E, FF, G, H, I, J) => R): Either[L, R]
Inherited from
Applicative
def apply11[A, B, C, D, E, FF, G, H, I, J, K, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H], fi: => Either[L, I], fj: => Either[L, J], fk: => Either[L, K])(f: (A, B, C, D, E, FF, G, H, I, J, K) => R): Either[L, R]
Inherited from
Applicative
def apply12[A, B, C, D, E, FF, G, H, I, J, K, L, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H], fi: => Either[L, I], fj: => Either[L, J], fk: => Either[L, K], fl: => Either[L, L])(f: (A, B, C, D, E, FF, G, H, I, J, K, L) => R): Either[L, R]
Inherited from
Applicative
def apply2[A, B, C](fa: => Either[L, A], fb: => Either[L, B])(f: (A, B) => C): Either[L, C]
Inherited from
Applicative
def apply3[A, B, C, D](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C])(f: (A, B, C) => D): Either[L, D]
Inherited from
Applicative
def apply4[A, B, C, D, E](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D])(f: (A, B, C, D) => E): Either[L, E]
Inherited from
Applicative
def apply5[A, B, C, D, E, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E])(f: (A, B, C, D, E) => R): Either[L, R]
Inherited from
Applicative
def apply6[A, B, C, D, E, FF, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF])(f: (A, B, C, D, E, FF) => R): Either[L, R]
Inherited from
Applicative
def apply7[A, B, C, D, E, FF, G, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G])(f: (A, B, C, D, E, FF, G) => R): Either[L, R]
Inherited from
Applicative
def apply8[A, B, C, D, E, FF, G, H, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H])(f: (A, B, C, D, E, FF, G, H) => R): Either[L, R]
Inherited from
Applicative
def apply9[A, B, C, D, E, FF, G, H, I, R](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E], ff: => Either[L, FF], fg: => Either[L, G], fh: => Either[L, H], fi: => Either[L, I])(f: (A, B, C, D, E, FF, G, H, I) => R): Either[L, R]
Inherited from
Applicative
def as[A, B](fa: Either[L, A])(b: => B): Either[L, B]
Inherited from
Functor
def filterM[A](l: List[A])(f: A => Either[L, Boolean]): Either[L, List[A]]

Filter l according to an applicative predicate.

Filter l according to an applicative predicate.

Inherited from
Applicative
def flatMap[A, B](fa: Either[L, A])(f: A => Either[L, B]): Either[L, B]
Inherited from
Monad
def iterateUntil[A](f: Either[L, A])(p: A => Boolean): Either[L, A]

Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

Inherited from
Monad
def iterateWhile[A](f: Either[L, A])(p: A => Boolean): Either[L, A]
Inherited from
Monad
def join[A](ffa: Either[L, Either[L, A]]): Either[L, A]
Inherited from
Monad
def lift10[A, B, C, D, E, FF, G, H, I, J, R](f: (A, B, C, D, E, FF, G, H, I, J) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G], Either[L, H], Either[L, I], Either[L, J]) => Either[L, R]
Inherited from
Applicative
def lift11[A, B, C, D, E, FF, G, H, I, J, K, R](f: (A, B, C, D, E, FF, G, H, I, J, K) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G], Either[L, H], Either[L, I], Either[L, J], Either[L, K]) => Either[L, R]
Inherited from
Applicative
def lift12[A, B, C, D, E, FF, G, H, I, J, K, L, R](f: (A, B, C, D, E, FF, G, H, I, J, K, L) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G], Either[L, H], Either[L, I], Either[L, J], Either[L, K], Either[L, L]) => Either[L, R]
Inherited from
Applicative
def lift2[A, B, C](f: (A, B) => C): (Either[L, A], Either[L, B]) => Either[L, C]
Inherited from
Applicative
def lift3[A, B, C, D](f: (A, B, C) => D): (Either[L, A], Either[L, B], Either[L, C]) => Either[L, D]
Inherited from
Applicative
def lift4[A, B, C, D, E](f: (A, B, C, D) => E): (Either[L, A], Either[L, B], Either[L, C], Either[L, D]) => Either[L, E]
Inherited from
Applicative
def lift5[A, B, C, D, E, R](f: (A, B, C, D, E) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E]) => Either[L, R]
Inherited from
Applicative
def lift6[A, B, C, D, E, FF, R](f: (A, B, C, D, E, FF) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF]) => Either[L, R]
Inherited from
Applicative
def lift7[A, B, C, D, E, FF, G, R](f: (A, B, C, D, E, FF, G) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G]) => Either[L, R]
Inherited from
Applicative
def lift8[A, B, C, D, E, FF, G, H, R](f: (A, B, C, D, E, FF, G, H) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G], Either[L, H]) => Either[L, R]
Inherited from
Applicative
def lift9[A, B, C, D, E, FF, G, H, I, R](f: (A, B, C, D, E, FF, G, H, I) => R): (Either[L, A], Either[L, B], Either[L, C], Either[L, D], Either[L, E], Either[L, FF], Either[L, G], Either[L, H], Either[L, I]) => Either[L, R]
Inherited from
Applicative
override
def map[A, B](fa: Either[L, A])(f: A => B): Either[L, B]
Definition Classes
Inherited from
Monad
final
def pure[A](a: => A): Either[L, A]
Inherited from
Applicative
def sequence[A, G[_]](as: G[Either[L, A]])(using evidence$1: Traverse[G]): Either[L, G[A]]
Inherited from
Applicative
def traverse[A, G[_], B](value: G[A])(f: A => Either[L, B])(using G: Traverse[G]): Either[L, G[B]]
Inherited from
Applicative
def tuple2[A, B](fa: => Either[L, A], fb: => Either[L, B]): Either[L, (A, B)]
Inherited from
Applicative
def tuple3[A, B, C](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C]): Either[L, (A, B, C)]
Inherited from
Applicative
def tuple4[A, B, C, D](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D]): Either[L, (A, B, C, D)]
Inherited from
Applicative
def tuple5[A, B, C, D, E](fa: => Either[L, A], fb: => Either[L, B], fc: => Either[L, C], fd: => Either[L, D], fe: => Either[L, E]): Either[L, (A, B, C, D, E)]
Inherited from
Applicative
def unless[A](cond: Boolean)(f: => Either[L, A]): Either[L, Unit]

Returns the given argument if cond is false, otherwise, unit lifted into F.

Returns the given argument if cond is false, otherwise, unit lifted into F.

Inherited from
Applicative
def void[A](fa: Either[L, A]): Either[L, Unit]
Inherited from
Functor
def when[A](cond: Boolean)(f: => Either[L, A]): Either[L, Unit]

Returns the given argument if cond is true, otherwise, unit lifted into F.

Returns the given argument if cond is true, otherwise, unit lifted into F.

Inherited from
Applicative
def xmap[A, B](fa: Either[L, A], f: A => B, g: B => A): Either[L, B]
Inherited from
Functor