SourceEffect

beam.SourceEffect
See theSourceEffect companion object
trait SourceEffect[O] extends SourceEffectExt[O, Unit]

Attributes

Companion
object
Graph
Supertypes
trait SourceEffectExt[O, Unit]
trait SourceSignature[O, Unit]
trait Signature
trait Effect[SourceSignature[O, Unit]]
class Object
trait Matchable
class Any
Show all
Known subtypes
object FxNothing
object FxUnit

Members list

Type members

Inherited and Abstract classlikes

abstract class Stateful[S, U](initial: S) extends StatefulReturn[S, Unit, U]

Attributes

Inherited from:
SourceEffectExt
Supertypes
class StatefulReturn[S, Unit, U]
trait SourceSignature[O, Unit]
trait Sequential
trait Default
class impl.Stateful[Const[Unit], Const[Unit], U]
trait impl.ThisInterpreter
class Stateful[Const[Unit], Const[Unit], U]
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
abstract class StatefulReturn[S, R, U](initial: S) extends impl.Stateful[Const[Unit], Const[R], U], impl.Sequential, SourceSignature[O, R]

Attributes

Inherited from:
SourceEffectExt
Supertypes
trait SourceSignature[O, R]
trait Sequential
trait Default
class impl.Stateful[Const[Unit], Const[R], U]
trait impl.ThisInterpreter
class Stateful[Const[Unit], Const[R], U]
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
Known subtypes
class Stateful[S, U]
abstract class Stateless[U] extends StatelessReturn[Unit, U]

Attributes

Inherited from:
SourceEffectExt
Supertypes
class StatelessReturn[Unit, U]
trait SourceSignature[O, Unit]
trait Sequential
trait Default
class impl.Stateless[Const[Unit], Const[Unit], U]
trait impl.ThisInterpreter
class Stateless[Const[Unit], Const[Unit], U]
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
abstract class StatelessReturn[R, U] extends impl.Stateless[Const[Unit], Const[R], U], impl.Sequential, SourceSignature[O, R]

Attributes

Inherited from:
SourceEffectExt
Supertypes
trait SourceSignature[O, R]
trait Sequential
trait Default
class impl.Stateless[Const[Unit], Const[R], U]
trait impl.ThisInterpreter
class Stateless[Const[Unit], Const[R], U]
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
Known subtypes
class Stateless[U]

Inherited types

final override type ThisEffect = Effect.this.type

Attributes

Inherited from:
Effect
type ThisSignature[U] = SourceSignature[O, Unit] & Signature { type ThisEffect = U; }

API for defining custom effects.

API for defining custom effects.

Attributes

Inherited from:
Effect

Value members

Concrete methods

final def empty: Stream[O, Any]
final def upCast[O2 >: O]: SourceEffect[O2]
final def upCastEv[O2](using O <:< O2): SourceEffect[O2]
final def wrap[U](comp: Computation[Unit, U & SourceEffect[O]]): Stream[O, U]

Inherited methods

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

API for defining custom handlers.

API for defining custom handlers.

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

Example of application: implement RWS-alike handler for Reader &! Writer &! State composition of effects.

Attributes

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

Attributes

Definition Classes
Inherited from:
SourceEffectExt
final def emit1[O2](value: O2)(using ev: Chunk[O2] <:< O): Computation[Unit, SourceEffectExt.this.type]

Attributes

Inherited from:
SourceEffectExt
final def emitIfNonEmpty[O2](values: Chunk[O2])(using ev: Chunk[O2] <:< O): Computation[Unit, SourceEffectExt.this.type]

Attributes

Inherited from:
SourceEffectExt
final def emitOpt(value: Option[O]): Computation[Unit, SourceEffectExt.this.type]

Attributes

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

Attributes

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

Attributes

Definition Classes
Inherited from:
SourceEffectExt
final inline def perform[A, U <: ThisEffect](inline f: (ThisSignature[U]) => Computation[A, U]): Computation[A, U]

API for defining custom effects.

API for defining custom effects.

Embeds an invocation of this Signature's method into the Computation monad. This provides mechanism for separation between syntax an semantics of effects.

Attributes

Inherited from:
Effect
final def performNoInline[A, U <: ThisEffect](f: (ThisSignature[U]) => Computation[A, U]): Computation[A, U]

API for defining custom effects.

API for defining custom effects.

Attributes

Inherited from:
Effect

Inherited fields

val impl: Impl[SourceEffect[O]]

API for defining custom handlers.

API for defining custom handlers.

Helper object providing type definitions to be used for implementing Interpreters for this effect.

Attributes

Inherited from:
Effect

Exports

Inherited defined exports

final val ThisHandler: Impl.this.ThisHandler
Exported from Impl

Attributes

Inherited from:
Effect
final type ThisHandler = [F[_], G[_], N] =>> this.impl.ThisHandler[F, G, N]
Exported from Impl

Attributes

Inherited from:
Effect