Stateful

turbolift.internals.effect.CanInterpret.Stateful
abstract class Stateful[S, F[_]] extends Stateful[S, F], ThisInterpreter

Base class for any user-defined stateful interpreter for this effect.

Like Stateful Interpreter, but specialized for this effect.

Attributes

Graph
Supertypes
class Stateful[S, F]
class Flow
class FlowFeatures
trait Interpreter
trait Signature
class Object
trait Matchable
class Any
Show all
Self type
ThisSignature

Members list

Type members

Inherited types

final override type !@![A, U] = (ThisControl[A, U], S) => Computation[F[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

Inherited from:
Stateful
final override type Dependency = Any

Attributes

Inherited from:
Flow
final override type Result[+A] = F[A]

Attributes

Inherited from:
Stateful
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

Inherited from:
Stateful
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

Inherited from:
Flow
final override type ThisEffect = 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:
ThisInterpreter

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

Attributes

Inherited from:
Flow

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
def onUnpure[A](aa: F[A]): Computation[A, ThisEffect]

Attributes

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

Attributes

Inherited from:
FlowFeatures
final def toHandler(initial: Stan): ThisHandler

Creates a Handler from this interpreter.

Creates a Handler from this interpreter.

Attributes

Inherited from:
Stateful