StateSig

trait StateSig[S] extends Signature
trait Signature
class Object
trait Matchable
class Any
trait State[S]

Type members

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.

From the perspective of effect's user, !@! is just an alias of !!. The final-override happens in Effect.

From the perspective of handler, !@! definition is enriched in a way depending on the chosen Interpreter.

Inherited from:
Signature

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

From the perspective of effect's user, ThisEffect is just an alias of this.type. The final-override happens in Effect.

From the perspective of handler, ThisEffect definition is enriched in a way depending on the chosen Interpreter.

Inherited from:
Signature

Value members

Abstract methods

def getModify(f: S => S): S !@! ThisEffect
def getModifyGet(f: S => S): (S, S) !@! ThisEffect
def getUpdate[A](f: S => (A, S)): (A, S) !@! ThisEffect
def getUpdateGet[A](f: S => (A, S)): (A, S, S) !@! ThisEffect
def gets[A](f: S => A): A !@! ThisEffect
def modify(f: S => S): Unit !@! ThisEffect
def modifyGet(f: S => S): S !@! ThisEffect
def put(s: S): Unit !@! ThisEffect
def swap(s: S): S !@! ThisEffect
def update[A](f: S => (A, S)): A !@! ThisEffect
def updateGet[A](f: S => (A, S)): (A, S) !@! ThisEffect