cats

CompositeFoldable

trait CompositeFoldable[F[_], G[_]] extends Foldable[[α]F[G[α]]]

Methods that apply to 2 nested Foldable instances

Linear Supertypes
Foldable[[α]F[G[α]]], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CompositeFoldable
  2. Foldable
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def F: Foldable[F]

  2. implicit abstract def G: Foldable[G]

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def combineAll[A](fa: F[G[A]])(implicit arg0: Monoid[A]): A

    Alias for fold.

    Alias for fold.

    Definition Classes
    Foldable
  9. def compose[G[_]](implicit ev: Foldable[G]): Foldable[[α]F[G[G[α]]]]

    Compose this Foldable[F] with a Foldable[G] to create a Foldable[F[G]] instance.

    Compose this Foldable[F] with a Foldable[G] to create a Foldable[F[G]] instance.

    Definition Classes
    Foldable
  10. def dropWhile_[A](fa: F[G[A]])(p: (A) ⇒ Boolean): List[A]

    Convert F[A] to a List[A], dropping all initial elements which match p.

    Convert F[A] to a List[A], dropping all initial elements which match p.

    Definition Classes
    Foldable
  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def exists[A](fa: F[G[A]])(p: (A) ⇒ Boolean): Boolean

    Check whether at least one element satisfies the predicate.

    Check whether at least one element satisfies the predicate.

    If there are no elements, the result is false.

    Definition Classes
    Foldable
  14. def filter_[A](fa: F[G[A]])(p: (A) ⇒ Boolean): List[A]

    Convert F[A] to a List[A], only including elements which match p.

    Convert F[A] to a List[A], only including elements which match p.

    Definition Classes
    Foldable
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def find[A](fa: F[G[A]])(f: (A) ⇒ Boolean): Option[A]

    Find the first element matching the predicate, if one exists.

    Find the first element matching the predicate, if one exists.

    Definition Classes
    Foldable
  17. def fold[A](fa: F[G[A]])(implicit A: Monoid[A]): A

    Fold implemented using the given Monoid[A] instance.

    Fold implemented using the given Monoid[A] instance.

    Definition Classes
    Foldable
  18. def foldK[G[_], A](fga: F[G[G[A]]])(implicit G: MonoidK[G]): G[A]

    Fold implemented using the given MonoidK[G] instance.

    Fold implemented using the given MonoidK[G] instance.

    This method is identical to fold, except that we use the universal monoid (MonoidK[G]) to get a Monoid[G[A]] instance.

    For example:

    scala> import cats.std.list._
    scala> val F = Foldable[List]
    scala> F.foldK(List(1 :: 2 :: Nil, 3 :: 4 :: 5 :: Nil))
    res0: List[Int] = List(1, 2, 3, 4, 5)
    Definition Classes
    Foldable
  19. def foldLeft[A, B](fga: F[G[A]], b: B)(f: (B, A) ⇒ B): B

    Left associative fold on F[G[A]] using 'f'

    Left associative fold on F[G[A]] using 'f'

    Definition Classes
    CompositeFoldableFoldable
  20. def foldMap[A, B](fa: F[G[A]])(f: (A) ⇒ B)(implicit B: Monoid[B]): B

    Fold implemented by mapping A values into B and then combining them using the given Monoid[B] instance.

    Fold implemented by mapping A values into B and then combining them using the given Monoid[B] instance.

    Definition Classes
    Foldable
  21. def foldRight[A, B](fga: F[G[A]], lb: Eval[B])(f: (A, Eval[B]) ⇒ Eval[B]): Eval[B]

    Right associative lazy fold on F using the folding function 'f'.

    Right associative lazy fold on F using the folding function 'f'.

    Definition Classes
    CompositeFoldableFoldable
  22. def forall[A](fa: F[G[A]])(p: (A) ⇒ Boolean): Boolean

    Check whether all elements satisfy the predicate.

    Check whether all elements satisfy the predicate.

    If there are no elements, the result is true.

    Definition Classes
    Foldable
  23. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  24. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  25. def isEmpty[A](fa: F[G[A]]): Boolean

    Returns true if there are no elements.

    Returns true if there are no elements. Otherwise false.

    Definition Classes
    Foldable
  26. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. def nonEmpty[A](fa: F[G[A]]): Boolean

    Definition Classes
    Foldable
  29. final def notify(): Unit

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. def reduceLeftToOption[A, B](fa: F[G[A]])(f: (A) ⇒ B)(g: (B, A) ⇒ B): Option[B]

    Definition Classes
    Foldable
  32. def reduceRightToOption[A, B](fa: F[G[A]])(f: (A) ⇒ B)(g: (A, Eval[B]) ⇒ Eval[B]): Eval[Option[B]]

    Definition Classes
    Foldable
  33. def sequenceU_[GA](fa: F[G[GA]])(implicit U: Unapply[Applicative, GA]): M[Unit]

    Behaves like sequence_, but uses Unapply to find the Applicative instance for G - used when G is a type constructor with two or more parameters such as cats.data.Xor

    Behaves like sequence_, but uses Unapply to find the Applicative instance for G - used when G is a type constructor with two or more parameters such as cats.data.Xor

    scala> import cats.data.Xor
    scala> import cats.std.list._
    scala> val F = Foldable[List]
    scala> F.sequenceU_(List(Xor.right[String, Int](333), Xor.Right(444)))
    res0: Xor[String, Unit] = Right(())
    scala> F.sequenceU_(List(Xor.right[String, Int](333), Xor.Left("boo")))
    res1: Xor[String, Unit] = Left(boo)

    Note that using sequence_ instead of sequenceU_ would not compile without explicitly passing in the type parameters - the type checker has trouble inferring the appropriate instance.

    Definition Classes
    Foldable
  34. def sequence_[G[_], A](fga: F[G[G[A]]])(implicit arg0: Applicative[G]): G[Unit]

    Sequence F[G[A]] using Applicative[G].

    Sequence F[G[A]] using Applicative[G].

    This is similar to traverse_ except it operates on F[G[A]] values, so no additional functions are needed.

    For example:

    scala> import cats.std.list._
    scala> import cats.std.option._
    scala> val F = Foldable[List]
    scala> F.sequence_(List(Option(1), Option(2), Option(3)))
    res0: Option[Unit] = Some(())
    scala> F.sequence_(List(Option(1), None, Option(3)))
    res1: Option[Unit] = None
    Definition Classes
    Foldable
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  36. def takeWhile_[A](fa: F[G[A]])(p: (A) ⇒ Boolean): List[A]

    Convert F[A] to a List[A], retaining only initial elements which match p.

    Convert F[A] to a List[A], retaining only initial elements which match p.

    Definition Classes
    Foldable
  37. def toList[A](fa: F[G[A]]): List[A]

    Convert F[A] to a List[A].

    Convert F[A] to a List[A].

    Definition Classes
    Foldable
  38. def toStreaming[A](fa: F[G[A]]): Streaming[A]

    Definition Classes
    Foldable
  39. def toString(): String

    Definition Classes
    AnyRef → Any
  40. def traverseU_[A, GB](fa: F[G[A]])(f: (A) ⇒ GB)(implicit U: Unapply[Applicative, GB]): M[Unit]

    Behaves like traverse_, but uses Unapply to find the Applicative instance for G - used when G is a type constructor with two or more parameters such as cats.data.Xor

    Behaves like traverse_, but uses Unapply to find the Applicative instance for G - used when G is a type constructor with two or more parameters such as cats.data.Xor

    scala> import cats.data.Xor
    scala> import cats.std.list._
    scala> def parseInt(s: String): Xor[String, Int] =
         |   try { Xor.Right(s.toInt) }
         |   catch { case _: NumberFormatException => Xor.Left("boo") }
    scala> val F = Foldable[List]
    scala> F.traverseU_(List("333", "444"))(parseInt)
    res0: Xor[String, Unit] = Right(())
    scala> F.traverseU_(List("333", "zzz"))(parseInt)
    res1: Xor[String, Unit] = Left(boo)

    Note that using traverse_ instead of traverseU_ would not compile without explicitly passing in the type parameters - the type checker has trouble inferring the appropriate instance.

    Definition Classes
    Foldable
  41. def traverse_[G[_], A, B](fa: F[G[A]])(f: (A) ⇒ G[B])(implicit G: Applicative[G]): G[Unit]

    Traverse F[A] using Applicative[G].

    Traverse F[A] using Applicative[G].

    A values will be mapped into G[B] and combined using Applicative#map2.

    For example:

    scala> import cats.data.Xor
    scala> import cats.std.list._
    scala> import cats.std.option._
    scala> def parseInt(s: String): Option[Int] = Xor.catchOnly[NumberFormatException](s.toInt).toOption
    scala> val F = Foldable[List]
    scala> F.traverse_(List("333", "444"))(parseInt)
    res0: Option[Unit] = Some(())
    scala> F.traverse_(List("333", "zzz"))(parseInt)
    res1: Option[Unit] = None

    This method is primarily useful when G[_] represents an action or effect, and the specific A aspect of G[A] is not otherwise needed.

    Definition Classes
    Foldable
  42. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Foldable[[α]F[G[α]]]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped