Trait/Object

cats.kernel

Semilattice

Related Docs: object Semilattice | package kernel

Permalink

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]
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

    Permalink

    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[_]

    Permalink
    Definition Classes
    Any

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def asJoinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]

    Permalink

    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]

    Permalink

    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]

    Permalink

    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

    Permalink

    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

    Permalink
    Definition Classes
    Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. def repeatedCombineN(a: A, n: Int): A

    Permalink

    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

    Permalink
    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