IDom

trait IDom[D[_]]
Companion:
object
class Object
trait Matchable
class Any
trait Dom[D]
trait DomWithBottom[D]
trait Splittable[D]
trait SyncDom[D]
trait JoinDom[D]
trait Template[D]
trait RDom[D]
trait TerminalDom[D]

Type members

Types

type IDelta[_, _]

IDelta[I, K] represents a change from D[I] to D[K], forgetting the index of the update that caused the change.

IDelta[I, K] represents a change from D[I] to D[K], forgetting the index of the update that caused the change.

type IUpdate[_]

An action on D. (IUpdate[?] acts on D[?].) In order to get deterministic results in a propagation network (where the order of applying updates is non-deterministic), it should form a commutative semigroup of closure operators on D.

An action on D. (IUpdate[?] acts on D[?].) In order to get deterministic results in a propagation network (where the order of applying updates is non-deterministic), it should form a commutative semigroup of closure operators on D.

type IUpdateRes[I, J]

Result of updating D[I] by IUpdate[J]. The type is user-defined, but has to be convertible to IUpdateResult via toUpdateResult.

Result of updating D[I] by IUpdate[J]. The type is user-defined, but has to be convertible to IUpdateResult via toUpdateResult.

Value members

Abstract methods

def composeDeltas[I1, I2, I3](δ1: IDelta[I2, I3], δ2: IDelta[I1, I2]): IDelta[I1, I3]
def iIsFailed[I](d: D[I]): Boolean
def iUpdate[I, J](d: D[I], u: IUpdate[J]): IUpdateRes[I, J]

Applies update u to d, obtaining a description of the change.

Applies update u to d, obtaining a description of the change.

def toUpdateResult[I, J](ch: IUpdateRes[I, J]): IUpdateResult[D, IDelta, I, _]

Concrete methods

final def aux: Aux[D, IUpdate, IDelta]