Monad2

izumi.functional.bio.Monad2
trait Monad2[F[_, _]] extends Applicative2[F]

Attributes

Graph
Supertypes
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all

Members list

Type members

Inherited types

Attributes

Inherited from:
DivergenceHelper

Attributes

Inherited from:
PredefinedHelper

Value members

Abstract methods

def flatMap[E, A, B](r: F[E, A])(f: A => F[E, B]): F[E, B]

Concrete methods

override def *>[E, A, B](f: F[E, A], next: => F[E, B]): F[E, B]

execute two operations in order, return result of second operation

execute two operations in order, return result of second operation

Attributes

Definition Classes
override def <*[E, A, B](f: F[E, A], next: => F[E, B]): F[E, A]

execute two operations in order, same as *>, but return result of first operation

execute two operations in order, same as *>, but return result of first operation

Attributes

Definition Classes
def collectFirst[E, A, B](l: Iterable[A])(f: A => F[E, Option[B]]): F[E, Option[B]]
def find[E, A](l: Iterable[A])(f: A => F[E, Boolean]): F[E, Option[A]]
def flatten[E, A](r: F[E, F[E, A]]): F[E, A]
def foldLeft[E, A, AC](l: Iterable[A])(z: AC)(f: (AC, A) => F[E, AC]): F[E, AC]
def fromOptionF[E, A](fallbackOnNone: => F[E, A], r: F[E, Option[A]]): F[E, A]

Extracts the optional value, or executes the fallbackOnNone effect

Extracts the optional value, or executes the fallbackOnNone effect

Attributes

final def ifThenElse[E, E1, A](cond: F[E, Boolean])(ifTrue: => F[E1, A], ifFalse: => F[E1, A])(implicit ev: E <:< E1): F[E1, A]
def iterateUntil[E, A](r: F[E, A])(p: A => Boolean): F[E, 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.

Attributes

def iterateUntilF[E, A](init: A)(f: A => F[E, A])(p: A => Boolean): F[E, A]

Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

Attributes

def iterateWhile[E, A](r: F[E, A])(p: A => Boolean): F[E, A]

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

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

Attributes

def iterateWhileF[E, A](init: A)(f: A => F[E, A])(p: A => Boolean): F[E, A]

Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

Attributes

override def map[E, A, B](r: F[E, A])(f: A => B): F[E, B]

Attributes

Definition Classes
override def map2[E, A, B, C](r1: F[E, A], r2: => F[E, B])(f: (A, B) => C): F[E, C]

execute two operations in order, map their results

execute two operations in order, map their results

Attributes

Definition Classes
def tailRecM[E, A, B](a: A)(f: A => F[E, Either[A, B]]): F[E, B]
def tap[E, A](r: F[E, A], f: A => F[E, Unit]): F[E, A]
final def unless[E, E1](cond: F[E, Boolean])(ifFalse: => F[E1, Unit])(implicit ev: E <:< E1): F[E1, Unit]
final def when[E, E1](cond: F[E, Boolean])(ifTrue: => F[E1, Unit])(implicit ev: E <:< E1): F[E1, Unit]

Inherited methods

def as[E, A, B](r: F[E, A])(v: => B): F[E, B]

Attributes

Inherited from:
Functor2
def collect[E, A, B](l: Iterable[A])(f: A => F[E, Option[B]]): F[E, List[B]]

Attributes

Inherited from:
Applicative2
def filter[E, A](l: Iterable[A])(f: A => F[E, Boolean]): F[E, List[A]]

Attributes

Inherited from:
Applicative2
def flatSequence[E, A](l: Iterable[F[E, Iterable[A]]]): F[E, List[A]]

Attributes

Inherited from:
Applicative2
def flatTraverse[E, A, B](l: Iterable[A])(f: A => F[E, Iterable[B]]): F[E, List[B]]

Attributes

Inherited from:
Applicative2
final def forever[E, A](r: F[E, A]): F[E, Nothing]

Attributes

Inherited from:
Applicative2
def fromOptionOr[E, A](valueOnNone: => A, r: F[E, Option[A]]): F[E, A]

Extracts the optional value, or returns the given valueOnNone value

Extracts the optional value, or returns the given valueOnNone value

Attributes

Inherited from:
Functor2
final def ifThenElse[E, A](cond: Boolean)(ifTrue: => F[E, A], ifFalse: => F[E, A]): F[E, A]

Attributes

Inherited from:
Applicative2
def sequence[E, A](l: Iterable[F[E, A]]): F[E, List[A]]

Attributes

Inherited from:
Applicative2
def sequence_[E](l: Iterable[F[E, Unit]]): F[E, Unit]

Attributes

Inherited from:
Applicative2
final def traverse[E, A, B](o: Option[A])(f: A => F[E, B]): F[E, Option[B]]

Attributes

Inherited from:
Applicative2
def traverse[E, A, B](l: Iterable[A])(f: A => F[E, B]): F[E, List[B]]

Attributes

Inherited from:
Applicative2
def traverse_[E, A](l: Iterable[A])(f: A => F[E, Unit]): F[E, Unit]

Attributes

Inherited from:
Applicative2
def unit: F[Nothing, Unit]

Attributes

Inherited from:
Applicative2
final def unless[E](cond: Boolean)(ifFalse: => F[E, Unit]): F[E, Unit]

Attributes

Inherited from:
Applicative2
def void[E, A](r: F[E, A]): F[E, Unit]

Attributes

Inherited from:
Functor2
final def when[E](cond: Boolean)(ifTrue: => F[E, Unit]): F[E, Unit]

Attributes

Inherited from:
Applicative2
final def widen[E, A, A1](r: F[E, A])(implicit ev: A <:< A1): F[E, A1]

Attributes

Inherited from:
Functor2
def zip[E, A, B](firstOp: F[E, A], secondOp: => F[E, B]): F[E, (A, B)]

Attributes

Inherited from:
Applicative2

Inherited and Abstract methods

def pure[A](a: A): F[Nothing, A]

Attributes

Inherited from:
Applicative2