trait Monoid[A] extends Semigroup[A]
A monoid is a semigroup with an identity. A monoid is a specialization of a
semigroup, so its operation must be associative. Additionally,
combine(x, empty) == combine(empty, x) == x
. For example, if we have Monoid[String]
,
with combine
as string concatenation, then empty = ""
.
- Alphabetic
- By Inheritance
- Monoid
- Semigroup
- Serializable
- Serializable
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
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
-
abstract
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
-
abstract
def
getClass(): Class[_]
- Definition Classes
- Any
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
combineAll(as: TraversableOnce[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 = ""
-
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
-
def
combineN(a: A, n: Int): A
Return
a
appended to itselfn
times. -
def
equals(arg0: Any): Boolean
- Definition Classes
- Any
-
def
hashCode(): Int
- Definition Classes
- Any
-
def
isEmpty(a: A)(implicit 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
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
-
def
toString(): String
- Definition Classes
- Any