Proxy

turbolift.interpreter.Interpreter.Proxy
abstract class Proxy[Fx] extends Interpreter, Trivial

Base class 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.

Type parameters

Fx

dependencies of this interpreter.

Attributes

Graph
Supertypes
trait Trivial
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
Known subtypes
class Proxy[Fx]

Members list

Type members

Types

final override type From[+A] = A

Input of this interpreter.

Input of this interpreter.

Attributes

final override type Intro = Fx

Set of effects introduced into computation by this interpreter (a.k.a. dependencies).

Set of effects introduced into computation by this interpreter (a.k.a. dependencies).

Attributes

final override type Local = Void

Local state of this interpreter.

Local state of this interpreter.

Attributes

final override type To[+A] = A

Output of this interpreter.

Output of this interpreter.

Attributes

Inherited types

final type ThisEffect = Intro & Ambient

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:
Interpreter

Inherited and Abstract types

type Ambient

Phantom type, representing universally quantified type of the corresponding handler.

Phantom type, representing universally quantified type of the corresponding handler.

A Handler acts as a higher-rank function of type:

[A, U] => (From[A] !! (Elim & U)) => To[A] !! (Intro & U)

The Ambient type of this interpreter corresponds to the U type parameter above. See also Unknown.

Attributes

Inherited from:
Interpreter
type Elim

Set of effects eliminated from computation by this interpreter.

Set of effects eliminated from computation by this interpreter.

Attributes

Inherited from:
Interpreter
type Unknown

Phantom type, representing universally quantified type of the corresponding handler.

Phantom type, representing universally quantified type of the corresponding handler.

A Handler acts as a higher-rank function of type:

[A, U] => (From[A] !! (Elim & U)) => To[A] !! (Intro & U)

The Unknown type of this interpreter corresponds to the A type parameter above. See also Ambient.

Attributes

Inherited from:
Interpreter

Value members

Concrete methods

final override def onInitial: Computation[Local, Intro]

Attributes

Definition Classes
final override def onReturn(a: Unknown, s: Void): Computation[Unknown, Any]

Attributes

Definition Classes

Inherited methods

def captureHint: Boolean

Microoptimization hint, stating intent to use continuations.

Microoptimization hint, stating intent to use continuations.

Many effect handlers never capture the continuation, and this is the default expectation.

The capture will work regardless of value of this hint. However, if not overriden to true, the first capture will be more costly.

Attributes

Inherited from:
Interpreter
final inline def hasForkJoin: Boolean

Attributes

Inherited from:
Interpreter
final inline def hasRestart: Boolean

Attributes

Inherited from:
Interpreter
final inline def hasZip: Boolean

Attributes

Inherited from:
Interpreter
final inline def isIo: Boolean

Attributes

Inherited from:
Interpreter
final inline def isParallel: Boolean

Attributes

Inherited from:
Interpreter
final inline def isStateful: Boolean

Attributes

Inherited from:
Interpreter
final inline def isStateless: Boolean

Attributes

Inherited from:
Interpreter
final inline def localCount: Int

Attributes

Inherited from:
Interpreter
final override def onFork(s: Local): (Local, Local)

Attributes

Definition Classes
HasNotForkJoin -> Interpreter
Inherited from:
HasNotForkJoin (hidden)
final override def onJoin(s1: Local, s2: Local): Local

Attributes

Definition Classes
HasNotForkJoin -> Interpreter
Inherited from:
HasNotForkJoin (hidden)
final override def onRestart(aa: To[Unknown]): Computation[Unknown, Elim]

Attributes

Definition Classes
HasNotRestart -> Interpreter
Inherited from:
HasNotRestart (hidden)
final override def onUnknown(aa: To[Unknown]): Option[Unknown]

Attributes

Definition Classes
HasNotRestart -> Interpreter
Inherited from:
HasNotRestart (hidden)
final override def onZip[A, B, C](aa: To[A], bb: To[B], k: (A, B) => C): To[C]

Attributes

Definition Classes
HasNotZip -> Interpreter
Inherited from:
HasNotZip (hidden)
final inline def prompt: Prompt

Attributes

Inherited from:
Interpreter
final def toHandler: Handler[From, To, Elim, Intro]

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.

Attributes

Inherited from:
Interpreter
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Interpreter -> Any
Inherited from:
Interpreter

Inherited fields

An instance of Control dedicated for this interpreter.

An instance of Control dedicated for this interpreter.

Attributes

Inherited from:
Interpreter

An instance of Local dedicated for this interpreter.

An instance of Local dedicated for this interpreter.

Attributes

Inherited from:
Interpreter