PipeEffect

beam.PipeEffect
trait PipeEffect[I, O] extends PipeEffectExt[I, O, Unit]

Attributes

Graph
Supertypes
trait PipeEffectExt[I, O, Unit]
trait PipeSignature[I, O, Unit]
trait Effect[PipeSignature[I, O, Unit]]
trait CanPerform[PipeSignature[I, O, Unit]]
trait Signature
class Object
trait Matchable
class Any
Show all

Members list

Type members

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

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 override def accept: Computation[Option[I], PipeEffectExt.this.type]

Attributes

Definition Classes
Inherited from:
PipeEffectExt
final def acceptOrElse[A >: I, U <: PipeEffect[I, O]](value: => A): Computation[A, U]

Attributes

Inherited from:
PipeEffectExt
final def acceptOrElseEff[A >: I, U <: PipeEffect[I, O]](comp: => Computation[A, U]): Computation[A, U]

Attributes

Inherited from:
PipeEffectExt
final def acceptOrElseExit(value: => Unit): Computation[I, PipeEffectExt.this.type]

Attributes

Inherited from:
PipeEffectExt
final def defaultHandler[U](Fx: SourceEffect[O], input: Stream[I, U]): Handler[Const[Unit], Const[Unit], PipeEffectExt.this.type, U & Fx.type]

Attributes

Inherited from:
PipeEffectExt
final override def emit(value: O): Computation[Unit, PipeEffectExt.this.type]

Attributes

Definition Classes
Inherited from:
PipeEffectExt
final def exit(using ev: Unit =:= Unit): Computation[Nothing, ThisEffect]

Attributes

Inherited from:
PipeEffectExt
final override def exit(value: Unit): Computation[Nothing, PipeEffectExt.this.type]

Attributes

Definition Classes
Inherited from:
PipeEffectExt
final inline def perform[A, U <: ThisEffect](inline f: (PipeSignature[I, O, Unit] & 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[PipeEffect[I, O]]

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