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

object Derivation

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
implicit class Operators[A](left: A)(implicit evidence$4: Lattice[A])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[A](using ev: Lattice[A]): Lattice[A]
def decompose[A : Lattice](a: A): Iterable[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]]
inline given tupleLattice[T <: Tuple](using pm: ProductOf[T]): Lattice[T]

This causes tuple lattices to be generally derivable implicitly, without making all products derivable implicitly.

This causes tuple lattices to be generally derivable implicitly, without making all products derivable implicitly.

Attributes

Implicits

Implicits

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