Group

cats.kernel.Group
See theGroup companion object
trait Group[A] extends Monoid[A]

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

Attributes

Companion:
object
Source:
Group.scala
Graph
Supertypes
trait Monoid[A]
trait Semigroup[A]
class Any
Known subtypes
trait EvalGroup[A]
class ByteGroup
class IntGroup
class LongGroup
object Alg.type
trait Function1Group[A, B]
object Alg.type

Members list

Concise view

Value members

Abstract methods

def inverse(a: A): A
Implicitly added by catsKernelGroupForFunction0

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

Attributes

Source:
Group.scala
def inverse(a: A): A
Implicitly added by catsKernelGroupForFunction1

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

Attributes

Source:
Group.scala
def inverse(a: A): A
Implicitly added by catsKernelGroupForTuple1

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

Attributes

Source:
Group.scala
def inverse(a: A): A

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

Attributes

Source:
Group.scala

Concrete methods

override def combineN(a: A, n: Int): A

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

Attributes

Definition Classes
Source:
Group.scala
def remove(a: A, b: A): A
Implicitly added by catsKernelGroupForFunction0

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

Attributes

Source:
Group.scala
def remove(a: A, b: A): A
Implicitly added by catsKernelGroupForFunction1

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

Attributes

Source:
Group.scala
def remove(a: A, b: A): A
Implicitly added by catsKernelGroupForTuple1

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

Attributes

Source:
Group.scala
def remove(a: A, b: A): A

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

Attributes

Source:
Group.scala

Inherited methods

def combine(x: A, y: A): A
Implicitly added by catsKernelGroupForFunction0

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)

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
def combine(x: A, y: A): A
Implicitly added by catsKernelGroupForFunction1

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)

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
def combine(x: A, y: A): A
Implicitly added by catsKernelGroupForTuple1

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)

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
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)

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
Implicitly added by catsKernelGroupForFunction0

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
Implicitly added by catsKernelGroupForFunction1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
Implicitly added by catsKernelGroupForTuple1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
override 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

Attributes

Definition Classes
Inherited from:
Monoid
Source:
Monoid.scala
def empty: A
Implicitly added by catsKernelGroupForFunction0

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
def empty: A
Implicitly added by catsKernelGroupForFunction1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
def empty: A
Implicitly added by catsKernelGroupForTuple1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
Implicitly added by catsKernelGroupForFunction0

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.

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
Implicitly added by catsKernelGroupForFunction1

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.

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
Implicitly added by catsKernelGroupForTuple1

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.

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala

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.

Attributes

Inherited from:
Semigroup
Source:
Semigroup.scala
def isEmpty(a: A)(implicit ev: Eq[A]): Boolean
Implicitly added by catsKernelGroupForFunction0

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
def isEmpty(a: A)(implicit ev: Eq[A]): Boolean
Implicitly added by catsKernelGroupForFunction1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
def isEmpty(a: A)(implicit ev: Eq[A]): Boolean
Implicitly added by catsKernelGroupForTuple1

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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
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

Attributes

Inherited from:
Monoid
Source:
Monoid.scala
override def reverse: Monoid[A]

return a semigroup that reverses the order so combine(a, b) == reverse.combine(b, a)

return a semigroup that reverses the order so combine(a, b) == reverse.combine(b, a)

Attributes

Definition Classes
Inherited from:
Monoid
Source:
Monoid.scala