given_CommutativeGroup_Coin

scalus.cardano.ledger.Coin.given_CommutativeGroup_Coin
object given_CommutativeGroup_Coin extends CommutativeGroup[Coin]

Attributes

Graph
Supertypes
trait CommutativeGroup[Coin]
trait CommutativeMonoid[Coin]
trait CommutativeSemigroup[Coin]
trait Group[Coin]
trait Monoid[Coin]
trait Semigroup[Coin]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Members list

Value members

Concrete methods

def combine(x: Coin, y: Coin): Coin

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

def empty: Coin

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

def inverse(x: Coin): Coin

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

Inherited methods

def combineAll(as: IterableOnce[Coin]): Coin

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
override def combineAllOption(as: IterableOnce[Coin]): Option[Coin]

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
Monoid -> Semigroup
Inherited from:
Monoid
override def combineN(a: Coin, n: Int): Coin

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
Group -> Monoid -> Semigroup
Inherited from:
Group
override def intercalate(middle: Coin): CommutativeSemigroup[Coin]

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

Definition Classes
CommutativeSemigroup -> Semigroup
Inherited from:
CommutativeSemigroup
def isEmpty(a: Coin)(implicit ev: Eq[Coin]): 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
def remove(a: Coin, b: Coin): Coin

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

Inherited from:
Group
override def reverse: CommutativeMonoid[Coin]

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
CommutativeMonoid -> CommutativeSemigroup -> Monoid -> Semigroup
Inherited from:
CommutativeMonoid