Trait/Object

cats.kernel

Group

Related Docs: object Group | package kernel

Permalink

trait Group[A] extends Monoid[A]

A group is a monoid where each element has an inverse.

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

    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
  2. abstract def empty: A

    Permalink

    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
    Definition Classes
    Monoid
  3. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  4. abstract def inverse(a: A): A

    Permalink

    Find the inverse of a.

    Find the inverse of a.

    combine(a, inverse(a)) = combine(inverse(a), a) = empty.

    Example:

    scala> import cats.kernel.instances.int._
    
    scala> Group[Int].inverse(5)
    res0: Int = -5

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.

    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 = ""
    Definition Classes
    Monoid
  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).

    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
    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. If n is negative, then this returns inverse(a) appended to itself n times.

    Definition Classes
    GroupMonoidSemigroup
  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.

    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
    Definition Classes
    Monoid
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. def remove(a: A, b: A): A

    Permalink

    Remove the element b from a.

    Remove the element b from a.

    Equivalent to combine(a, inverse(b))

    Example:

    scala> import cats.kernel.instances.int._
    
    scala> Group[Int].remove(5, 2)
    res0: Int = 3
  13. 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
  14. def toString(): String

    Permalink
    Definition Classes
    Any

Inherited from Monoid[A]

Inherited from Semigroup[A]

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped