Stateless

turbolift.interpreter.Interpreter.Stateless
abstract class Stateless[F[_], G[_], Fx] extends Interpreter

Base class for any user-defined Interpreter, that has no internal state.

User-defined Stateless interpreter must also inherit one of Sequential or Parallel mixins.

Type parameters

F

Input of this interpreter.

Fx

dependencies of this interpreter.

G

Output of this interpreter.

Attributes

Graph
Supertypes
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Known subtypes
class Stateless[F, G, Fx]

Members list

Type members

Types

final override type From[+A] = F[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] = G[A]

Output of this interpreter.

Output of this interpreter.

Attributes

Inherited types

type Elim

Set of effects eliminated from computation by this interpreter.

Set of effects eliminated from computation by this interpreter.

Attributes

Inherited from:
Interpreter
final override type ThisEffect = Elim & Intro

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
final type ThisHandler = Handler[From, To, Elim, Intro]

Alias for Handler, specialized for this interperter.

Alias for Handler, specialized for this interperter.

Attributes

Inherited from:
Interpreter
type Unknown

Phantom type meaning the unknown part of the continuation's answer type.

Phantom type meaning the unknown part of the continuation's answer type.

Full answer type is To[Unknown] !! Intro. The To[+_] part is known to this interpreter. The Unknown part however, is not. It's specific to place(s) where the handler (obtained from this interpreter) would be applied.

Attributes

Inherited from:
Interpreter

Value members

Abstract methods

Concrete methods

final override def onInitial: Computation[Local, Intro]

Attributes

Definition Classes
final override def onReturn(aa: F[Unknown], s: Void): Computation[G[Unknown], ThisEffect]

Attributes

Definition Classes

Inherited methods

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
def onFork(s: Local): (Local, Local)

Attributes

Inherited from:
Interpreter
def onJoin(s1: Local, s2: Local): Local

Attributes

Inherited from:
Interpreter

Attributes

Inherited from:
Interpreter
def onZip[A, B, C](aa: G[A], bb: G[B], k: (A, B) => C): To[C]

Attributes

Inherited from:
Interpreter
final inline def prompt: Prompt

Attributes

Inherited from:
Interpreter
final def toHandler: ThisHandler

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.

Attributes

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