EitherInterpretation

org.atnos.eff.EitherInterpretation
See theEitherInterpretation companion object

Attributes

Companion
object
Source
EitherInterpretation.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Concrete methods

def EitherApplicative[E](using s: Semigroup[E]): Applicative[[_] =>> Either[E, _$30]]

Attributes

Source
EitherInterpretation.scala
def attemptEither[R, E, A](effect: Eff[R, A])(using MemberInOut[[_] =>> Either[E, _$6], R]): Eff[R, Either[E, A]]

catch possible left values

catch possible left values

Attributes

Source
EitherInterpretation.scala
def catchLeft[R, E, A](effect: Eff[R, A])(handle: E => Eff[R, A])(using MemberInOut[[_] =>> Either[E, _$7], R]): Eff[R, A]

catch and handle a possible left value

catch and handle a possible left value

Attributes

Source
EitherInterpretation.scala
def catchLeftCombine[R, E, A](effect: Eff[R, A])(handle: E => Eff[R, A])(using MemberInOut[[_] =>> Either[E, _$10], R], Semigroup[E]): Eff[R, A]

catch and handle a possible left value. The value is the combination of all failures in case of an applicative

catch and handle a possible left value. The value is the combination of all failures in case of an applicative

Attributes

Source
EitherInterpretation.scala
def localEither[R, E, A](e: Eff[R, A])(modify: E => E)(using MemberInOut[[_] =>> Either[E, _$27], R]): Eff[R, A]

Update the error value, the stack of the Eff computation stays the same

Update the error value, the stack of the Eff computation stays the same

Attributes

Source
EitherInterpretation.scala
def runEither[R, U, E, A](effect: Eff[R, A])(using Aux[[_] =>> Either[E, _$1], R, U]): Eff[U, Either[E, A]]

run the Either effect, yielding E Either A

run the Either effect, yielding E Either A

Attributes

Source
EitherInterpretation.scala
def runEitherCatchLeft[R, U, E, A](r: Eff[R, A])(handle: E => Eff[U, A])(using Aux[[_] =>> Either[E, _$8], R, U]): Eff[U, A]

run the Either effect, handling E (with effects) and yielding A

run the Either effect, handling E (with effects) and yielding A

Attributes

Source
EitherInterpretation.scala
def runEitherCombine[R, U, E, A](effect: Eff[R, A])(using Aux[[_] =>> Either[E, _$2], R, U], Semigroup[E]): Eff[U, Either[E, A]]

run the Either effect, yielding E Either A and combine all Es

run the Either effect, yielding E Either A and combine all Es

Attributes

Source
EitherInterpretation.scala
def translateEither[R, U, E1, E2, A](r: Eff[R, A], getter: E1 => E2)(using Aux[[_] =>> Either[E1, _$24], R, U], MemberIn[[_] =>> Either[E2, _$25], U]): Eff[U, A]

Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)

Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)

Attributes

Source
EitherInterpretation.scala
def zoomEither[SR, BR, U1, U2, E1, E2, A](r: Eff[SR, A], getter: E1 => E2)(using Aux[[_] =>> Either[E1, _$18], SR, U1], Aux[[_] =>> Either[E2, _$19], BR, U2], IntoPoly[U1, U2]): Eff[BR, A]

Modify the type of the read value

Modify the type of the read value

This changes the stack of the Eff computation

Attributes

Source
EitherInterpretation.scala