CatsMonadToSemigroup
Given that A
has a cats.Monoid
implementation, this builds
a Semigroup[F[A]]
instance for any F[_]
data type that
implements cats.effect.Sync
.
Given that A
has a cats.Monoid
implementation, this builds
a Semigroup[F[A]]
instance for any F[_]
data type that
implements cats.effect.Sync
.
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.
Value members
Concrete methods
Inherited methods
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
- Inherited from
- Semigroup
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
- Inherited from
- Semigroup
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