CoroutineEffect

turbolift.effects.CoroutineEffect
See theCoroutineEffect companion object
trait CoroutineEffect[I, O, R] extends Effect[CoroutineSignature[I, O, R]], CoroutineSignature[I, O, R]

Attributes

Companion
object
Graph
Supertypes
trait CoroutineSignature[I, O, R]
trait Effect[CoroutineSignature[I, O, R]]
trait CanPerform[CoroutineSignature[I, O, R]]
trait Signature
class Object
trait Matchable
class Any
Show all
Self type
CoroutineEffect[I, O, R]

Members list

Type members

Types

type Fx = this.type

Inherited types

final override type ThisEffect = Effect.this.type

Self-reference to the effect being described by this Signature.

Self-reference to the effect being described by this Signature.

Becomes an alias of this.type, once the signature is inherited from Effect.

Attributes

Inherited from:
Effect

Value members

Concrete methods

final override def exit(value: R): Computation[Nothing, this.type]

Attributes

Definition Classes
final def handler[U]: impl.ThisHandler[Const[R], Const[Step[I, O, R, U & Fx]], Any]
final override def yeld(value: O): Computation[I, this.type]

Attributes

Definition Classes

Inherited methods

final def &![Fx2 <: Signature](fx2: Fx2): Combine2[Effect.this.type, fx2.type]

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Attributes

Inherited from:
Effect
final inline def perform[A, U <: ThisEffect](inline f: (CoroutineSignature[I, O, R] & Signature { type ThisEffect = U; }) => Computation[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.

Attributes

Inherited from:
CanPerform

Inherited fields

val impl: EffectImpl[this.type]

Object containing type definitions, to be used for implementing Interpreters for this effect.

Object containing type definitions, to be used for implementing Interpreters for this effect.

Attributes

Inherited from:
Effect

Exports

Inherited defined exports

final type ThisHandler = [F[_], G[_], N] =>> this.impl.ThisHandler[F, G, N]
Exported from EffectImpl

Attributes

Inherited from:
Effect