# Semilattice<T> mixin

Semilattices are commutative semigroups whose operation (i.e. `combine`) is also idempotent.

Meet-semilattice

For all elements `x` and `y` of `A`, the greatest lower bound of the set `{x, y}` exists.

Join-semilattice

For all elements `x` and `y` of `A`, the least upper bound of the set `{x, y}` exists.

See also CommutativeSemigroup, `Bind`.

Superclass Constraints

## Properties

hashCode int
The hash code for this object.
runtimeType Type
A representation of the runtime type of the object.

## Methods

asJoinPartialOrder(Eq<T> eq) PartialOrder<T>
Given `Eq<T>`, return a `PartialOrder<T>` using the `combine` operator of `Semilattice` to determine the partial ordering. This method assumes `combine` functions as `join` (that is, as an upper bound).
asMeetPartialOrder(Eq<T> eq) PartialOrder<T>
Given `Eq<T>`, return a `PartialOrder<T>` using the `combine` operator of `Semilattice` to determine the partial ordering. This method assumes `combine` functions as `meet` (that is, as a lower bound).
combine(T x, T y) → T
Associative operation which combines two values.
inherited
combineN(T a, int n) → T
Only apply `combine` operation the first time:
inherited
intercalate(T middle) Semigroup<T>
Return a `Semigroup` which inserts `middle` between each pair of elements.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reverse() Semigroup<T>
Return a `Semigroup` that reverses the order.
inherited
toString()
A string representation of this object.
inherited

## Operators

operator ==(Object other) bool
The equality operator.
inherited

## Static Methods

instance<A>(A f(A a1, A a2)) Semilattice<A>
Create a `Semilattice` instance from the given function.
override