ProductDecompose

rdts.base.Decompose.Derivation.ProductDecompose
class ProductDecompose[T <: Product](lattices: Tuple, bottoms: Tuple, pm: ProductOf[T], label: String) extends Decompose[T]

Attributes

Graph
Supertypes
trait Decompose[T]
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any

Extensions

Extensions

extension (a: T)
override def decomposed: Iterable[T]

Decompose a state into potentially smaller parts. Guarantees for any two states a and b that decompose(a).fold(b)(merge) == bmergea, i.e., merging the decomposed values into b has the same result as merging the full a into b (assuming b is normalized).

Decompose a state into potentially smaller parts. Guarantees for any two states a and b that decompose(a).fold(b)(merge) == bmergea, i.e., merging the decomposed values into b has the same result as merging the full a into b (assuming b is normalized).

Note that the goal here is small individual storage size at reasonable computational cost. The results might not be minimal. The results might overlap. The result may be the empty sequence if a is the bottom value. Each result is <= the original value (according to the lattice).

Attributes

Definition Classes