MidAlgebraSemigroup

tofu.higherKind.MidAlgebraSemigroup
class MidAlgebraSemigroup[F[_], U[f[_]]](implicit U: ApplyK[U]) extends Semigroup[U[[_] =>> Mid[F, _$36]]]

Attributes

Graph
Supertypes
trait Semigroup[U[[_] =>> Mid[F, _$36]]]
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
class MidAlgebraMonoid[F, U]

Members list

Value members

Concrete methods

def combine(x: U[[_] =>> Mid[F, _$37]], y: U[[_] =>> Mid[F, _$38]]): U[[_] =>> Mid[F, _$39]]

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 methods

def combineAllOption(as: IterableOnce[U[[_] =>> Mid[F, _$36]]]): Option[U[[_] =>> Mid[F, _$36]]]

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

Inherited from:
Semigroup
def combineN(a: U[[_] =>> Mid[F, _$36]], n: Int): U[[_] =>> Mid[F, _$36]]

Return a combined with itself n times.

Return a combined with itself n times.

Example:

scala> import cats.kernel.instances.int._
scala> import cats.kernel.instances.string._

scala> Semigroup[Int].combineN(1, 10)
res0: Int = 10

scala> Semigroup[String].combineN("ha", 3)
res1: String = hahaha

Attributes

Inherited from:
Semigroup
def intercalate(middle: U[[_] =>> Mid[F, _$36]]): Semigroup[U[[_] =>> Mid[F, _$36]]]

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
def reverse: Semigroup[U[[_] =>> Mid[F, _$36]]]

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

Inherited from:
Semigroup