t

# Semilattice 

### Companion object Semilattice

#### trait Semilattice[A] extends Band[A] with CommutativeSemigroup[A]

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

Self Type
Semilattice[A]
Source
Semilattice.scala
Linear Supertypes
Known Subclasses
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. Semilattice
2. CommutativeSemigroup
3. Band
4. Semigroup
5. Serializable
6. Serializable
7. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Abstract Value Members

1. abstract def combine(x: A, y: A): A

Associative operation which combines two values.

Associative operation which combines two values.

Example:

```scala> import cats.kernel.instances.string._
scala> import cats.kernel.instances.int._
scala> import cats.kernel.instances.option._

scala> Semigroup[String].combine("Hello ", "World!")
res0: String = Hello World!

scala> Semigroup[Option[Int]].combine(None, Some(1))
res1: Option[Int] = Some(1)```
Definition Classes
Semigroup
2. abstract def getClass(): Class[_]
Definition Classes
Any

### Concrete Value Members

1. final def !=(arg0: Any)
Definition Classes
Any
2. final def ##(): Int
Definition Classes
Any
3. final def ==(arg0: Any)
Definition Classes
Any
4. final def asInstanceOf[T0]: T0
Definition Classes
Any
5. def asJoinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]

Given Eq[A], return a PartialOrder[A] using the `combine` operator to determine the partial ordering.

Given Eq[A], return a PartialOrder[A] using the `combine` operator to determine the partial ordering. This method assumes `combine` functions as `join` (that is, as an upper bound).

This method returns:

0.0 if x = y -1.0 if y = combine(x, y) 1.0 if x = combine(x, y) NaN otherwise

6. def asMeetPartialOrder(implicit ev: Eq[A]): PartialOrder[A]

Given Eq[A], return a PartialOrder[A] using the `combine` operator to determine the partial ordering.

Given Eq[A], return a PartialOrder[A] using the `combine` operator to determine the partial ordering. This method assumes `combine` functions as `meet` (that is, as a lower bound).

This method returns:

0.0 if x = y -1.0 if x = combine(x, y) 1.0 if y = combine(x, y) NaN otherwise

7. def combineAllOption(as: IterableOnce[A]): Option[A]

Given a sequence of `as`, combine them and return the total.

Given a sequence of `as`, combine them and return the total.

If the sequence is empty, returns None. Otherwise, returns Some(total).

Example:

```scala> import cats.kernel.instances.string._

scala> Semigroup[String].combineAllOption(List("One ", "Two ", "Three"))
res0: Option[String] = Some(One Two Three)

scala> Semigroup[String].combineAllOption(List.empty)
res1: Option[String] = None```
Definition Classes
Semigroup
8. def combineN(a: A, n: Int): A

Return `a` combined with itself `n` times.

Return `a` combined with itself `n` times.

Example:

```scala> import cats.kernel.instances.int._
scala> import cats.kernel.instances.string._

scala> Semigroup[Int].combineN(1, 10)
res0: Int = 10

scala> Semigroup[String].combineN("ha", 3)
res1: String = hahaha```
Definition Classes
Semigroup
9. def equals(arg0: Any)
Definition Classes
Any
10. def hashCode(): Int
Definition Classes
Any
11. def intercalate(middle: A)

Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.

Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.

Definition Classes
CommutativeSemigroupSemigroup
12. final def isInstanceOf[T0]
Definition Classes
Any
13. def repeatedCombineN(a: A, n: Int): A

Return `a` combined with itself more than once.

Return `a` combined with itself more than once.

Attributes
protected[this]
Definition Classes
BandSemigroup
14. def reverse

return a semigroup that reverses the order so combine(a, b) == reverse.combine(b, a)

return a semigroup that reverses the order so combine(a, b) == reverse.combine(b, a)

Definition Classes
CommutativeSemigroupSemigroup
15. def toString(): String
Definition Classes
Any