ChoiceEffect

sealed trait ChoiceEffect extends Effect[ChoiceSig] with ChoiceSig
trait ChoiceSig
trait HasSignature
trait Signature
class Object
trait Matchable
class Any
trait Choice
object Each.type
object Fail.type

Type members

Classlikes

object handlers

Predefined handlers for this effect.

Predefined handlers for this effect.

Inherited classlikes

abstract class Proxy[Fx] extends Proxy[Fx] with ThisInterpreter

Base class for user-defined Proxy Interpreter for this effect.

Base class for user-defined Proxy Interpreter for this effect.

Inherited from:
CanInterpret
abstract class Stateful[S, F[_]] extends Stateful[S, F] with ThisInterpreter

Base class for user-defined Stateful Interpreter for this effect.

Base class for user-defined Stateful Interpreter for this effect.

Inherited from:
CanInterpret
abstract class Stateless[F[_]] extends Stateless[F] with ThisInterpreter

Base class for user-defined Stateless Interpreter for this effect.

Base class for user-defined Stateless Interpreter for this effect.

Inherited from:
CanInterpret

Defines type aliases for Handler, specialized to eliminate this effect.

Defines type aliases for Handler, specialized to eliminate this effect.

Inherited from:
CanInterpret
sealed trait ThisInterpreter extends Unsealed
Inherited from:
CanInterpret

Inherited types

final override type !@![+A, U] = Computation[A, U]
Inherited from:
CanPerform
final override type ThisEffect = Effect
Inherited from:
Effect
final type ThisHandler[F[_], N] = Handler[F, ThisEffect, N]

Alias for Handler, specialized to eliminate this effect.

Alias for Handler, specialized to eliminate this effect.

Inherited from:
CanInterpret

Value members

Concrete methods

final def apply[A](as: A*): Computation[A, ChoiceEffect]
final override def choose[A](as: Iterable[A]): Computation[A, ChoiceEffect]
Definition Classes
final def empty: Computation[Nothing, ChoiceEffect]
final def fromEither[E, A](x: Either[E, A]): Computation[A, ChoiceEffect]
final def fromOption[A](x: Option[A]): Computation[A, ChoiceEffect]
final def fromTry[A](x: Try[A]): Computation[A, ChoiceEffect]
final override def orElse[A, U <: ChoiceEffect](lhs: Computation[A, U], rhs: => Computation[A, U]): Computation[A, U]
Definition Classes
final def plus[A, U <: ChoiceEffect](lhs: Computation[A, U], rhs: => Computation[A, U]): Computation[A, U]

Inherited methods

final def &![Fx2 <: HasSignature](fx2: Fx2): Combine2[ChoiceEffect, Fx2]

Combines with another Effect instance, so that a single Handler for 2 effects can be created.

Combines with another Effect instance, so that a single Handler for 2 effects can be created.

Inherited from:
Effect
final def perform[A, U <: ThisEffect](f: ChoiceSig & Signature { type ThisEffect = U; } => A !@! U { def apply(z: ChoiceSig & Signature { type ThisEffect = U; }): A !@! U; }): Computation[A, U]

Lifts an invocation of this Signature's method into the Computation monad.

Lifts an invocation of this Signature's method into the Computation monad.

The purpose of perform is similar to:

  • send function form various effect systems (Eff monad, etc.)
  • serviceWith from ZIO 1.x.
  • serviceWithZIO from ZIO 2.x.

⚠️ Scaladoc displays the definition of perform as more complex than it actually is:

final def perform[A, U <: ThisEffect](f: (z: Z & Signature { type ThisEffect = U }) => z.!@![A, U]): A !! U
Inherited from:
CanPerform
final def pure[A](a: A): Computation[A, ThisEffect]

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Inherited from:
CanPerform

Concrete fields

final override val fail: Computation[Nothing, ChoiceEffect]