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
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): Boolean
    Definition Classes
    Any
  2. final def ##(): Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    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: TraversableOnce[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): Boolean
    Definition Classes
    Any
  10. def hashCode(): Int
    Definition Classes
    Any
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. 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
    Semigroup
  13. def toString(): String
    Definition Classes
    Any

Inherited from CommutativeSemigroup[A]

Inherited from Band[A]

Inherited from Semigroup[A]

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped