FreeRefToolkit

trait Toolkit
class Object
trait Matchable
class Any

Type members

Types

override type Out[A] = OutK[Prg, A]
type OutK[K[_], A]
override type Val[A] = ValK[Prg, A]
type ValK[K[_], A]
override type Var[A] = VarK[Prg, A]
type VarK[K[_], A]

Inherited types

type Lang[K[_], A]
Inherited from:
FreeToolkit
override type Prg[A] = FreeK[Lang, A]
Inherited from:
FreeToolkit
override type State = StateK[Prg]
Inherited from:
FreeToolkit
type StateK[K[_]]
Inherited from:
FreeToolkit

Value members

Abstract methods

def fetchK[K[_], A](ref: ValK[K, A], s: StateK[K]): Option[A]
def fetchK[K[_], A](ref: VarK[K, A], s: StateK[K]): A
def readOnlyK[K[_], A](ref: VarK[K, A]): ValK[K, A]
def readOutK[K[_], A](a: OutK[K, A], s: StateK[K]): A
def valOrderK[K[_]]: HOrderK[[_] =>> ValK[K, _$17]]
def valShowK[K[_]]: ShowK[[_] =>> ValK[K, _$19]]
def varOrderK[K[_]]: HOrderK[[_] =>> VarK[K, _$13]]
def varShowK[K[_]]: ShowK[[_] =>> VarK[K, _$15]]

Concrete methods

override def fetch[A](ref: Val[A], s: State): Option[A]
Definition Classes
override def fetch[A](ref: Var[A], s: State): A
Definition Classes
override def readOut[A](a: Out[A], s: State): A
Definition Classes

Inherited methods

override def empty: State
Definition Classes
Inherited from:
FreeToolkit
def emptyK[K[_]]: StateK[K]
Inherited from:
FreeToolkit
def fetchResult[A](ref: Val[A], s: State)(implicit fin: Final[A]): Option[Out]
Inherited from:
RefToolkit
def interpret[A](p: Prg[A], s: State): (State, A)
Inherited from:
FreeToolkit
def interpret0[A](p: Prg[A]): (State, A)
Inherited from:
Toolkit
def interpretAll[F[_]](ps: F[Prg[Unit]], s: State)(implicit F: Foldable[F]): State
Inherited from:
Toolkit

Inherited fields

lazy val interpreter: NaturalTransformation[Prg, [_] =>> StateT[State, Id, _$5]]
Inherited from:
FreeToolkit
Inherited from:
FreeToolkit

Implicits

Implicits

implicit override def readOnly[A](ref: Var[A]): Val[A]
Definition Classes
implicit def valOrder: HOrderK[Val]
implicit def valShow: ShowK[Val]
implicit def varOrder: HOrderK[Var]
implicit def varShow: ShowK[Var]

Inherited implicits

implicit def prgMonad: Monad[Prg]
Inherited from:
Toolkit