OnDemandPropagationModule

Companion:
object
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 OutK[K[_], A]
Inherited from:
PropagationModule
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
type ValK[K[_], A]
Inherited from:
PropagationModule
type VarK[K[_], A]
Inherited from:
PropagationModule

Value members

Inherited methods

def emptyK[K[_]]: StateK[K]
Inherited from:
Module
def fetchK[K[_], A](ref: ValK[K, A], s: StateK[K]): Option[A]
Inherited from:
PropagationModule
def fetchK[K[_], A](ref: VarK[K, A], s: StateK[K]): A
Inherited from:
PropagationModule
def readOnlyK[K[_], A](ref: VarK[K, A]): ValK[K, A]
Inherited from:
PropagationModule
def readOutK[K[_], A](a: OutK[K, A], s: StateK[K]): A
Inherited from:
PropagationModule
def stepInterpreterK[K[_], S](implicit lens: Lens[S, StateK[K]]): StateInterpreter[K, [_] =>> Lang[K, _$28], S]
Inherited from:
PropagationModule

Implicits

Implicits

implicit override def freePropagation[F[_[_], _]](implicit inj: Inject[[_] =>> Lang[[_] =>> FreeK[F, _$136], _$137], [_] =>> F[[_] =>> FreeK[F, _$138], _$139]]): Aux[[_] =>> FreeK[F, _$140], [_] =>> VarK[[_] =>> FreeK[F, _$141], _$142], [_] =>> ValK[[_] =>> FreeK[F, _$143], _$144], [_] =>> OutK[[_] =>> FreeK[F, _$145], _$146]]
Definition Classes

Inherited implicits

implicit def valOrderK[K[_]]: HOrderK[[_] =>> ValK[K, _$10]]
Inherited from:
PropagationModule
implicit def valShowK[K[_]]: ShowK[[_] =>> ValK[K, _$12]]
Inherited from:
PropagationModule
implicit def varOrderK[K[_]]: HOrderK[[_] =>> VarK[K, _$6]]
Inherited from:
PropagationModule
implicit def varShowK[K[_]]: ShowK[[_] =>> VarK[K, _$8]]
Inherited from:
PropagationModule