PersistentCostModule

Companion:
object
trait CostModule[C]
trait Module
class Object
trait Matchable
class Any

Type members

Inherited types

type Lang[K[_], A]

Instructions set.

Instructions set.

Type parameters:
K

allows instructions to refer to the type of program in which they are embedded. That is, K will be instantiated into FreeK[F, ?], where F[_[_], _] is a superset of this instruction set (i.e. there is an injection from Lang to F).

Inherited from:
Module
type StateK[K[_]]

State that the interpreter operates on.

State that the interpreter operates on.

Type parameters:
K

Some states need to store programs or program-producing functions. This type parameter allows the state to talk about the type of programs. It will be instantiated into FreeK[F, ?], where F[_[_], _] is a superset of the instruction set Lang (i.e. there is an injection from Lang to F).

Inherited from:
Module

Value members

Abstract methods

override def stashable: CostModule[C] & StashModule { type Lang = [K[_], A] =>> Lang[K, A]; }
Definition Classes

Inherited methods

def emptyK[K[_]]: StateK[K]
Inherited from:
Module
def getCost[K[_]](s: StateK[K]): C
Inherited from:
CostModule
def interpreter[K[_], S](implicit lens: Lens[S, StateK[K]]): StateInterpreter[K, [_] =>> Lang[K, _$10], S]
Inherited from:
CostModule

Implicits

Inherited implicits

implicit def freeCost[F[_[_], _]](implicit i: Inject[[_] =>> Lang[[_] =>> FreeK[F, _$4], _$5], [_] =>> F[[_] =>> FreeK[F, _$6], _$7]]): Aux[[_] =>> FreeK[F, _$8], C]
Inherited from:
CostModule