BranchingModule

trait BranchingModule extends Module
Companion:
object
trait Module
class Object
trait Matchable
class Any
class BranchingListModule[Var0, Val0, Lang0, State0]

Type members

Types

type Lang[K[_], A]
type StateK[K[_]]
type ValK[K[_], A]
type VarK[K[_], A]

Value members

Abstract methods

def assess[K[_]](s: StateK[K])(fetch: NaturalTransformation[[_] =>> VarK[K, _$26], Id])(implicit K: Aux0[K, [_] =>> VarK[K, _$27]]): Assessment[List[K[Unit]]]
def emptyK[K[_]]: StateK[K]
def stepInterpreter[K[_], S](implicit lens: Lens[S, StateK[K]]): StateInterpreter[K, [_] =>> Lang[K, _$24], S]

Implicits

Implicits

implicit def freeBranchingPropagation[F[_[_], _]](implicit i: Inject[[_] =>> Lang[[_] =>> FreeK[F, _$8], _$9], [_] =>> F[[_] =>> FreeK[F, _$10], _$11]], P: Aux1[[_] =>> FreeK[F, _$12], [_] =>> VarK[[_] =>> FreeK[F, _$13], _$14], [_] =>> ValK[[_] =>> FreeK[F, _$15], _$16]]): Aux1[[_] =>> FreeK[F, _$17], [_] =>> VarK[[_] =>> FreeK[F, _$18], _$19], [_] =>> ValK[[_] =>> FreeK[F, _$20], _$21]]