Flow

turbolift.internals.interpreter.Interpreter$.Flow
sealed abstract class Flow extends FlowFeatures

Super class for interpreters using delimited continuation.

Attributes

Graph
Supertypes
trait Signature
class Object
trait Matchable
class Any
Known subtypes
class Stateful[S, F]
class Stateful[S, F]
class Stateless[F]
class Stateless[F]
Self type

Members list

Concise view

Type members

Types

final override type Dependency = Any
type ThisControl[-A, U] = Flow[A, Unknown, Stan, Result, U, Any]

Alias for Control, specialized for this interpreter.

Alias for Control, specialized for this interpreter.

Attributes

type Unknown

Free variable, meaning the unknown part of the continuation's answer type.

Free variable, meaning the unknown part of the continuation's answer type.

The full answer type is Result[Unknown].

Attributes

Inherited types

type !@![A, U]

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

Inherited from:
Signature
type Result[+A]

Attributes

Inherited from:
Interpreter
type Stan

State of this interpreter. Named Stan, to avoid confusion with State effect.

State of this interpreter. Named Stan, to avoid confusion with State effect.

Attributes

Inherited from:
FlowFeatures

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

Inherited methods

def onFork(s: Stan): (Stan, Stan)

Attributes

Inherited from:
FlowFeatures
def onJoin(s1: Stan, s2: Stan): Stan

Attributes

Inherited from:
FlowFeatures
def onPure[A](a: A, s: Stan): Result[A]

Attributes

Inherited from:
FlowFeatures

Attributes

Inherited from:
FlowFeatures
def onZip[A, B, C](aa: Result[A], bb: Result[B], k: (A, B) => C): Result[C]

Attributes

Inherited from:
FlowFeatures