CatsMonadToMonoid

class CatsMonadToMonoid[F[_], A](F: Monad[F], A: Monoid[A]) extends CatsMonadToSemigroup[F, A] with Monoid[F[A]]

Given that A has a cats.Semigroup implementation, this builds a Semigroup[F[A]] instance for any F[_] data type that implements cats.Monad.

Given that A has a cats.Semigroup implementation, this builds a Semigroup[F[A]] instance for any F[_] data type that implements cats.Monad.

Used for IO.

NOTE: nothing in this implementation is specific to Monix or to cats-effect, but these instances are not provided by default by Cats for any monad, probably because they aren't useful for every monad.

trait Monoid[F[A]]
trait Semigroup[F[A]]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

override def empty: F[A]
Definition Classes
Monoid

Inherited methods

override def combine(x: F[A], y: F[A]): F[A]
Definition Classes
Inherited from
CatsMonadToSemigroup
def combineAll(as: IterableOnce[F[A]]): F[A]

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 = ""
Inherited from
Monoid
override def combineAllOption(as: IterableOnce[F[A]]): Option[F[A]]
Definition Classes
Monoid -> Semigroup
Inherited from
Monoid
override def combineN(a: F[A], n: Int): F[A]

Return a appended to itself n times.

Return a appended to itself n times.

Example:

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

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

scala> Monoid[String].combineN("ha", 0)
res1: String = ""
Definition Classes
Monoid -> Semigroup
Inherited from
Monoid
def intercalate(middle: F[A]): Semigroup[F[A]]

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.

Inherited from
Semigroup
def isEmpty(a: F[A])(ev: Eq[F[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
Inherited from
Monoid
override def reverse: Monoid[F[A]]
Definition Classes
Monoid -> Semigroup
Inherited from
Monoid