Proxy

turbolift.internals.interpreter.Interpreter$.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.

Attributes

Fx

Type-level set of effects, specifying dependencies of this proxy interpreter.

Graph
Supertypes
trait Signature
class Object
trait Matchable
class Any
Known subtypes
class Proxy[Fx]

Members list

Concise view

Type members

Types

final override type !@![A, U] = Computation[A, U & Dependency]

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

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

Becomes an alias of Computation (i.e. same as !!), once the signature is inherited from Effect.

Attributes

final override type Dependency = 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.

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

Attributes

Inherited from:
Signature

Alias for Handler, specialized for this interperter.

Alias for Handler, specialized for this interperter.

Attributes

Inherited from:
Interpreter

Value members

Concrete methods

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.

Attributes

final def unproxy[A, U <: Dependency](comp: Computation[A, U]): Computation[A, ThisEffect]