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 = ""
.
 Self Type
 Monoid[A]
 Source
 Monoid.scala
 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: 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 = ""

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

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
intercalate(middle: A): Semigroup[A]
Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.
Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.
 Definition Classes
 Semigroup

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
reverse: Monoid[A]
return a semigroup that reverses the order so combine(a, b) == reverse.combine(b, a)

def
toString(): String
 Definition Classes
 Any