Proxy

trait Proxy[Fx] extends Interpreter

Super trait for any user-defined proxy Interpreter.

Proxy translates operations of this effect, into operations of some other effects (dependencies). This is also known as "reinterpretation" in some effect systems.

Unlike Flow interpreters, Proxy interpreters have their Result type fixed to identity.

Type parameters:
Fx

Type-level set of effects, expressed as an intersection type, specifying dependencies of this proxy interpreter.

trait Signature
class Object
trait Matchable
class Any
class Proxy[Fx]

Type members

Types

final override type !@![+A, U] = Computation[A, U & IntroEffect]
final override type IntroEffect = Fx
final override type Result[A] = A

Inherited types

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

From the perspective of effect's user, ThisEffect is just an alias of this.type. The final-override happens in Effect.

From the perspective of handler, ThisEffect definition is enriched in a way depending on the chosen Interpreter.

Inherited from:
Signature

Alias for Handler, specialized for this interperter.

Alias for Handler, specialized for this interperter.

Inherited from:
Interpreter

Value members

Concrete methods

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.