Lattice

kofre.base.Lattice$
See theLattice companion trait
object Lattice

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Lattice.type

Members list

Concise view

Type members

Classlikes

implicit class Operators[A](left: A)(implicit evidence$3: Lattice[A])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
class ProductLattice[T <: Product](pm: ProductOf[T], lattices: Seq[Lattice[Any]]) extends Lattice[T]

Attributes

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

Value members

Concrete methods

def apply[A](implicit ev: Lattice[A]): Lattice[A]
inline def derived[T <: Product](using pm: ProductOf[T]): Lattice[T]
def merge[A : Lattice](left: A, right: A): A
def normalize[A : Lattice](v: A): A

Merge functions can throw away redundant information, if one constructs values directly (not by using operators) this could result in values that should be equal, but are not. Normalize fixes this.

Merge functions can throw away redundant information, if one constructs values directly (not by using operators) this could result in values that should be equal, but are not. Normalize fixes this.

Attributes

Givens

Givens

given functionLattice[K, V : Lattice]: Lattice[K => V]
given latticeOrder[A : Lattice]: latticeOrder[A]
given mapLattice[K, V : Lattice]: Lattice[Map[K, V]]
given optionLattice[A : Lattice]: Lattice[Option[A]]
given setLattice[A]: Lattice[Set[A]]

Implicits

Implicits

final implicit def Operators[A : Lattice](left: A): Operators[A]