ZeroSemilattice

trait ZeroSemilattice[@specialized(Int, Long, Float, Double) A] extends Semilattice[A] with ZeroBand[A] with CommutativeZeroSemigroup[A]

Zero semilattices are semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Zero semilattices are semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
trait ZeroBand[A]
trait ZeroSemigroup[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 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
Inherited from
Semigroup
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
Inherited from
Semigroup
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
Definition Classes
CommutativeZeroSemigroup -> CommutativeSemigroup -> ZeroSemigroup -> Semigroup
Inherited from
CommutativeZeroSemigroup