Stateful

turbolift.internals.interpreter.Interpreter$.Stateful
abstract class Stateful[S, F[_], G[_]] extends Flow

Super class for any user-defined stateful Flow Interpreter, that has internal state.

Type parameters

S

State for this interpreter.

Attributes

Graph
Supertypes
class Flow
class FlowFeatures
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
Known subtypes
class ConstStateful[C, S, F]
class Stateful[S, F]

Members list

Type members

Types

final override type !@![A, U] = (ThisControl[A, U], S) => Computation[G[Unknown], Any]

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

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

final override type To[+A] = G[A]

Inherited types

final override type Dependency = Any

Attributes

Inherited from:
Flow
type ThisControl[-A, U] = Flow[A, Unknown, Stan, To, U, Any]

Alias for Control, specialized for this interpreter.

Alias for Control, specialized for this interpreter.

Attributes

Inherited from:
Flow
type ThisEffect

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
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 To[Unknown].

Attributes

Inherited from:
Flow

Value members

Concrete methods

final def toHandler(initial: Stan): ThisHandler

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.

Attributes

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](aa: F[A], s: Stan): To[A]

Attributes

Inherited from:
FlowFeatures
def onUnpure[A](aa: G[A]): Computation[A, ThisEffect]

Attributes

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

Attributes

Inherited from:
FlowFeatures