trait JoinLattice[L] extends Monoid[L] with PartialOrdering[L]
A (join semi-)lattice L should support the following operations
- Alphabetic
- By Inheritance
- JoinLattice
- PartialOrdering
- Equiv
- Serializable
- Serializable
- Monoid
- Semigroup
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
- trait JoinLatticeLaw extends AnyRef
-
trait
MonoidLaw extends scalaz.Monoid.SemigroupLaw
- Definition Classes
- Monoid
-
trait
SemigroupLaw extends AnyRef
- Definition Classes
- Semigroup
Abstract Value Members
-
abstract
def
bottom: L
A lattice has a bottom element
-
abstract
def
cardinality(x: L): Cardinality
Cardinality of this value
-
abstract
def
counting: Boolean
It should state whether it supports abstract counting or not.
It should state whether it supports abstract counting or not. (TODO: this is probably not the best place for that)
-
abstract
def
isPrimitiveValue(x: L): Boolean
Some elements may contain addresses in there and are therefore not considered as primitive values
-
abstract
def
join(x: L, y: L): L
Elements of the lattice can be joined together
-
abstract
def
name: String
A name identifying the lattice
-
abstract
def
subsumes(x: L, y: L): Boolean
Subsumption between two elements can be checked
Concrete Value Members
-
def
append(x: L, y: ⇒ L): L
- Definition Classes
- JoinLattice → Semigroup
-
final
def
applicative: Applicative[[α]L]
- Definition Classes
- Monoid
-
final
def
apply: Apply[[α]L]
- Definition Classes
- Semigroup
-
final
def
category: Category[[α, β]L]
- Definition Classes
- Monoid
-
final
def
compose: Compose[[α, β]L]
- Definition Classes
- Semigroup
-
def
equiv(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering → Equiv
-
def
gt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
gteq(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
final
def
ifEmpty[B](a: L)(t: ⇒ B)(f: ⇒ B)(implicit eq: Equal[L]): B
- Definition Classes
- Monoid
-
def
isMZero(a: L)(implicit eq: Equal[L]): Boolean
- Definition Classes
- Monoid
-
def
lt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
lteq(x: L, y: L): Boolean
- Definition Classes
- JoinLattice → PartialOrdering
-
def
monoidLaw: MonoidLaw
- Definition Classes
- Monoid
-
val
monoidSyntax: MonoidSyntax[L]
- Definition Classes
- Monoid
-
def
multiply(value: L, n: Int): L
- Definition Classes
- Monoid
-
def
multiply1(value: L, n: Int): L
- Definition Classes
- Semigroup
-
final
def
onEmpty[A, B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
final
def
onNotEmpty[B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
def
reverse: PartialOrdering[L]
- Definition Classes
- PartialOrdering
-
def
semigroupLaw: SemigroupLaw
- Definition Classes
- Semigroup
-
val
semigroupSyntax: SemigroupSyntax[L]
- Definition Classes
- Semigroup
-
def
totalLessThan(a: L, b: L): Boolean
Force an artificial "total order" to sort final values and have a deterministic printing output.
Force an artificial "total order" to sort final values and have a deterministic printing output. (The corresponding relation <= is not always transitive, but it is good enough.)
-
def
tryCompare(x: L, y: L): Option[Int]
If x and y are comparable then returns the comparison, else returns None.
If x and y are comparable then returns the comparison, else returns None.
- Definition Classes
- JoinLattice → PartialOrdering
-
def
zero: L
- Definition Classes
- JoinLattice → Monoid