State

turbolift.effects.State
trait State[S] extends Effect[StateSig[S]] with StateSig[S]

Attributes

Graph
Supertypes
trait StateSig[S]
trait Effect[StateSig[S]]
trait Signature
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

object handlers

Predefined handlers for this effect.

Predefined handlers for this effect.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Inherited classlikes

abstract class Proxy[Fx] extends Proxy[Fx] with ThisInterpreter

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

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

Like Proxy Interpreter, but specialized for this effect.

Attributes

Inherited from:
CanInterpret
Graph
Supertypes
trait Proxy[Fx]
trait Signature
class Object
trait Matchable
class Any
abstract class Stateful[S, F[_]] extends Stateful[S, F] with ThisInterpreter

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

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

Like Stateful Interpreter, but specialized for this effect.

Attributes

Inherited from:
CanInterpret
Graph
Supertypes
class Stateful[S, F]
class Flow
trait Signature
class Object
trait Matchable
class Any
abstract class Stateless[F[_]] extends Stateless[F] with ThisInterpreter

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

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

Like Stateless Interpreter, but specialized for this effect.

Attributes

Inherited from:
CanInterpret
Graph
Supertypes
class Stateless[F]
class Flow
trait Signature
class Object
trait Matchable
class Any

Defines type aliases for Handler, specialized to eliminate this effect.

Defines type aliases for Handler, specialized to eliminate this effect.

Attributes

Inherited from:
CanInterpret
Graph
Supertypes
class Object
trait Matchable
class Any
sealed trait ThisInterpreter

Attributes

Inherited from:
CanInterpret
Graph
Supertypes
trait Signature
class Object
trait Matchable
class Any
Known subtypes
class Proxy[Fx]
class Stateful[S, F]
class Stateless[F]

Inherited types

final override type !@![+A, U] = Computation[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:
CanPerform
final override type ThisEffect = Effect.this.type

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:
Effect
final type ThisHandler[F[_], N] = Handler[F, ThisEffect, N]

Alias for Handler, specialized to eliminate this effect.

Alias for Handler, specialized to eliminate this effect.

Attributes

Inherited from:
CanInterpret

Value members

Concrete methods

final override def getModify(f: S => S): Computation[S, State]

Attributes

Definition Classes
final override def getModifyGet(f: S => S): Computation[(S, S), State]

Attributes

Definition Classes
final override def getUpdate[A](f: S => (A, S)): Computation[(A, S), State]

Attributes

Definition Classes
final override def getUpdateGet[A](f: S => (A, S)): Computation[(A, S, S), State]

Attributes

Definition Classes
final override def gets[A](f: S => A): Computation[A, State]

Attributes

Definition Classes
def handler(initial: S): Free[Tuple2]

Default handler for this effect.

Default handler for this effect.

Attributes

final override def modify(f: S => S): Computation[Unit, State]

Attributes

Definition Classes
final override def modifyGet(f: S => S): Computation[S, State]

Attributes

Definition Classes
final override def put(s: S): Computation[Unit, State]

Attributes

Definition Classes
final override def swap(s: S): Computation[S, State]

Attributes

Definition Classes
final override def update[A](f: S => (A, S)): Computation[A, State]

Attributes

Definition Classes
final override def updateGet[A](f: S => (A, S)): Computation[(A, S), State]

Attributes

Definition Classes

Inherited methods

final def &![Fx2 <: HasSignature](fx2: Fx2): Combine2[Effect, Fx2]

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Attributes

Inherited from:
Effect
final def perform[A, U <: ThisEffect](f: (z: StateSig[S] & Signature { type ThisEffect = U; }) => A !@! U): Computation[A, U]

Lifts an invocation of this Signature's method into the Computation monad.

Lifts an invocation of this Signature's method into the Computation monad.

Attributes

Inherited from:
CanPerform
final def pure[A](a: A): Computation[A, ThisEffect]

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Attributes

Inherited from:
CanPerform

Concrete fields

final override val get: Computation[S, State[S]]

Exports

Inherited defined exports

final val Parallel: Parallel.type
Exported from Features

Attributes

Inherited from:
CanInterpret
final type Parallel = Parallel
Exported from Features$

Attributes

Inherited from:
CanInterpret
final type Sequential = Sequential
Exported from Features$

Attributes

Inherited from:
CanInterpret