StateSignature

turbolift.effects.StateSignature
trait StateSignature[S] extends Signature

Signature of StateEffect.

Attributes

Graph
Supertypes
trait Signature
class Object
trait Matchable
class Any
Known subtypes
trait StateEffect[S]

Members list

Type members

Inherited and Abstract types

type ThisEffect

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:
Signature

Value members

Abstract methods

def getModify(f: S => S): Computation[S, ThisEffect]
def getModifyEff[U <: ThisEffect](f: S => Computation[S, U]): Computation[S, U]
def getModifyGet(f: S => S): Computation[(S, S), ThisEffect]
def getModifyGetEff[U <: ThisEffect](f: S => Computation[S, U]): Computation[(S, S), U]
def getUpdate[A](f: S => (A, S)): Computation[(A, S), ThisEffect]
def getUpdateEff[A, U <: ThisEffect](f: S => Computation[(A, S), U]): Computation[(A, S), U]
def getUpdateGet[A](f: S => (A, S)): Computation[(A, S, S), ThisEffect]
def getUpdateGetEff[A, U <: ThisEffect](f: S => Computation[(A, S), U]): Computation[(A, S, S), U]
def gets[A](f: S => A): Computation[A, ThisEffect]
def getsEff[A, U <: ThisEffect](f: S => Computation[A, U]): Computation[A, U]
def localModify[A, U <: ThisEffect](f: S => S)(body: Computation[A, U]): Computation[A, U]
def localModifyEff[A, U <: ThisEffect](f: S => Computation[S, U])(body: Computation[A, U]): Computation[A, U]
def localPut[A, U <: ThisEffect](s: S)(body: Computation[A, U]): Computation[A, U]
def localPutEff[A, U <: ThisEffect](s: Computation[S, U])(body: Computation[A, U]): Computation[A, U]
def modify(f: S => S): Computation[Unit, ThisEffect]
def modifyEff[U <: ThisEffect](f: S => Computation[S, U]): Computation[Unit, U]
def modifyGet(f: S => S): Computation[S, ThisEffect]
def modifyGetEff[U <: ThisEffect](f: S => Computation[S, U]): Computation[S, U]
def put(s: S): Computation[Unit, ThisEffect]
def putEff[U <: ThisEffect](s: Computation[S, U]): Computation[Unit, U]
def swap(s: S): Computation[S, ThisEffect]
def swapEff[U <: ThisEffect](s: Computation[S, U]): Computation[S, U]
def update[A](f: S => (A, S)): Computation[A, ThisEffect]
def updateEff[A, U <: ThisEffect](f: S => Computation[(A, S), U]): Computation[A, U]
def updateGet[A](f: S => (A, S)): Computation[(A, S), ThisEffect]
def updateGetEff[A, U <: ThisEffect](f: S => Computation[(A, S), U]): Computation[(A, S), U]