Lattice

kofre.base.Lattice
See theLattice companion object
trait Lattice[A]

Well, its technically a semilattice, but that is just more to type.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Value members

Abstract methods

def merge(left: A, right: A): A

By assumption: associative, commutative, idempotent.

By assumption: associative, commutative, idempotent.

For use with Delta CRDTs, this function should be optimized for the case that left >> right, i.e., that left is the current state and right the delta

Attributes

Concrete methods

def bimap[B](to: A => B, from: B => A): Lattice[B]
def lteq(left: A, right: A): Boolean

Lattice order is derived from merge, but should be overridden for efficiency

Lattice order is derived from merge, but should be overridden for efficiency

Attributes

Extensions

Extensions

extension (left: A)
def <=(right: A): Boolean

Lattice order is derived from merge, but should be overridden for efficiency

Lattice order is derived from merge, but should be overridden for efficiency

Attributes

def merge(right: A): A