Trait/Object

cats.kernel

Monoid

Related Docs: object Monoid | package kernel

Permalink

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 = "".

Linear Supertypes
Semigroup[A], Serializable, Serializable, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Monoid
  2. Semigroup
  3. Serializable
  4. Serializable
  5. 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.

    Definition Classes
    Semigroup
  2. abstract def empty: A

    Permalink

    Return the identity element for this monoid.

  3. 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 combineAll(as: TraversableOnce[A]): A

    Permalink

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

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

    Definition Classes
    MonoidSemigroup
  7. def combineN(a: A, n: Int): A

    Permalink

    Return a appended to itself n times.

    Return a appended to itself n times.

    Definition Classes
    MonoidSemigroup
  8. def equals(arg0: Any): Boolean

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

    Permalink
    Definition Classes
    Any
  10. def isEmpty(a: A)(implicit ev: Eq[A]): Boolean

    Permalink

    Tests if a is the identity.

  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 Semigroup[A]

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped