final class FoldableOps1[F[_]] extends AnyVal
- Alphabetic
- By Inheritance
- FoldableOps1
- AnyVal
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
partitionBifold[H[_, _], A, B, C](fa: F[A])(f: (A) ⇒ H[B, C])(implicit A: Alternative[F], H: Bifoldable[H]): (F[B], F[C])
Separate this Foldable into a Tuple by a separating function
A => H[B, C]
for someBifoldable[H]
Equivalent toFunctor#map
and thenAlternative#separate
.Separate this Foldable into a Tuple by a separating function
A => H[B, C]
for someBifoldable[H]
Equivalent toFunctor#map
and thenAlternative#separate
.scala> import cats.implicits._, cats.Foldable, cats.data.Const scala> val list = List(1,2,3,4) scala> Foldable[List].partitionBifold(list)(a => ("value " + a.toString(), if (a % 2 == 0) -a else a)) res0: (List[String], List[Int]) = (List(value 1, value 2, value 3, value 4),List(1, -2, 3, -4)) scala> Foldable[List].partitionBifold(list)(a => Const[Int, Nothing with Any](a)) res1: (List[Int], List[Nothing with Any]) = (List(1, 2, 3, 4),List())
-
def
partitionBifoldM[G[_], H[_, _], A, B, C](fa: F[A])(f: (A) ⇒ G[H[B, C]])(implicit A: Alternative[F], M: Monad[G], H: Bifoldable[H]): G[(F[B], F[C])]
Separate this Foldable into a Tuple by an effectful separating function
A => G[H[B, C]]
for someBifoldable[H]
Equivalent toTraverse#traverse
overAlternative#separate
Separate this Foldable into a Tuple by an effectful separating function
A => G[H[B, C]]
for someBifoldable[H]
Equivalent toTraverse#traverse
overAlternative#separate
scala> import cats.implicits._, cats.Foldable, cats.data.Const scala> val list = List(1,2,3,4) `Const`'s second parameter is never instantiated, so we can use an impossible type: scala> Foldable[List].partitionBifoldM(list)(a => Option(Const[Int, Nothing with Any](a))) res0: Option[(List[Int], List[Nothing with Any])] = Some((List(1, 2, 3, 4), List()))
-
def
partitionEitherM[G[_], A, B, C](fa: F[A])(f: (A) ⇒ G[Either[B, C]])(implicit A: Alternative[F], M: Monad[G]): G[(F[B], F[C])]
Separate this Foldable into a Tuple by an effectful separating function
A => G[Either[B, C]]
Equivalent toTraverse#traverse
overAlternative#separate
Separate this Foldable into a Tuple by an effectful separating function
A => G[Either[B, C]]
Equivalent toTraverse#traverse
overAlternative#separate
scala> import cats.implicits._, cats.Foldable, cats.Eval scala> val list = List(1,2,3,4) scala> val partitioned1 = Foldable[List].partitionEitherM(list)(a => if (a % 2 == 0) Eval.now(Either.left[String, Int](a.toString)) else Eval.now(Either.right[String, Int](a))) Since `Eval.now` yields a lazy computation, we need to force it to inspect the result: scala> partitioned1.value res0: (List[String], List[Int]) = (List(2, 4),List(1, 3)) scala> val partitioned2 = Foldable[List].partitionEitherM(list)(a => Eval.later(Either.right(a * 4))) scala> partitioned2.value res1: (List[Nothing], List[Int]) = (List(),List(4, 8, 12, 16))
-
def
toString(): String
- Definition Classes
- Any