BoundedZeroSemilattice

trait BoundedZeroSemilattice[@specialized(Int, Long, Float, Double) A] extends BoundedSemilattice[A] with ZeroSemilattice[A] with CommutativeZeroMonoid[A]

Bounded zero semilattices are bounded semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Bounded zero semilattices are bounded semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
trait ZeroMonoid[A]
trait ZeroBand[A]
trait ZeroSemigroup[A]
trait BoundedSemilattice[A]
trait CommutativeMonoid[A]
trait Monoid[A]
trait Semilattice[A]
trait CommutativeSemigroup[A]
trait Band[A]
trait Semigroup[A]
trait Serializable
class Any

Value members

Inherited methods

def absorbing: A

Return the absorbing element for this zero semigroup.

Return the absorbing element for this zero semigroup.

Inherited from
ZeroSemigroup
def asJoinPartialOrder(ev: Eq[A]): PartialOrder[A]

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).

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

Inherited from
Semilattice
def asMeetPartialOrder(ev: Eq[A]): PartialOrder[A]

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).

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

Inherited from
Semilattice
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)
Inherited from
Semigroup
def combineAll(as: IterableOnce[A]): A

Given a sequence of as, sum them using the monoid and return the total.

Given a sequence of as, sum them using the monoid and return the total.

Example:

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

scala> Monoid[String].combineAll(List("One ", "Two ", "Three"))
res0: String = One Two Three

scala> Monoid[String].combineAll(List.empty)
res1: String = ""
Inherited from
Monoid
override def combineAllOption(as: IterableOnce[A]): Option[A]
Definition Classes
Monoid -> Semigroup
Inherited from
Monoid
override def combineN(a: A, n: Int): A
Definition Classes
BoundedSemilattice -> Monoid -> Semigroup
Inherited from
BoundedSemilattice
def empty: A

Return the identity element for this monoid.

Return the identity element for this monoid.

Example:

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

scala> Monoid[String].empty
res0: String = ""

scala> Monoid[Int].empty
res1: Int = 0
Inherited from
Monoid
override def intercalate(middle: A): CommutativeZeroSemigroup[A]
Definition Classes
CommutativeZeroSemigroup -> CommutativeSemigroup -> Semigroup
Inherited from
CommutativeZeroSemigroup
def isAbsorbing(a: A)(ev: Eq[A]): Boolean

Tests if a is the absorbing element.

Tests if a is the absorbing element.

Inherited from
ZeroSemigroup
def isEmpty(a: A)(ev: Eq[A]): Boolean

Tests if a is the identity.

Tests if a is the identity.

Example:

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

scala> Monoid[String].isEmpty("")
res0: Boolean = true

scala> Monoid[String].isEmpty("something")
res1: Boolean = false
Inherited from
Monoid
Definition Classes
CommutativeZeroMonoid -> CommutativeZeroSemigroup -> CommutativeMonoid -> CommutativeSemigroup -> ZeroMonoid -> ZeroSemigroup -> Monoid -> Semigroup
Inherited from
CommutativeZeroMonoid