Trait

cats

CompositeFoldable

Related Doc: package cats

Permalink

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
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def F: Foldable[F]

    Permalink
  2. implicit abstract def G: Foldable[G]

    Permalink

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

    Permalink

    Alias for fold.

    Alias for fold.

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

    Permalink

    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
  8. def dropWhile_[A](fa: F[G[A]])(p: (A) ⇒ Boolean): List[A]

    Permalink

    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
  9. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink

    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
  12. def filter_[A](fa: F[G[A]])(p: (A) ⇒ Boolean): List[A]

    Permalink

    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
  13. def finalize(): Unit

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

    Permalink

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

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

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

    Permalink

    Fold implemented using the given Monoid[A] instance.

    Fold implemented using the given Monoid[A] instance.

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

    Permalink

    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
  17. def foldLeft[A, B](fga: F[G[A]], b: B)(f: (B, A) ⇒ B): B

    Permalink

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

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

    Definition Classes
    CompositeFoldableFoldable
  18. def foldM[G[_], A, B](fa: F[G[A]], z: B)(f: (B, A) ⇒ G[B])(implicit G: Monad[G]): G[B]

    Permalink

    Left associative monadic folding on F.

    Left associative monadic folding on F.

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

    Permalink

    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
  20. def foldRight[A, B](fga: F[G[A]], lb: Eval[B])(f: (A, Eval[B]) ⇒ Eval[B]): Eval[B]

    Permalink

    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
  21. def forall[A](fa: F[G[A]])(p: (A) ⇒ Boolean): Boolean

    Permalink

    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
  22. final def getClass(): Class[_]

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

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

    Permalink

    Returns true if there are no elements.

    Returns true if there are no elements. Otherwise false.

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

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

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

    Permalink
    Definition Classes
    Foldable
  28. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

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

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

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

    Permalink

    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
  33. def sequence_[G[_], A](fga: F[G[G[A]]])(implicit arg0: Applicative[G]): G[Unit]

    Permalink

    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
  34. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink

    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
  36. def toList[A](fa: F[G[A]]): List[A]

    Permalink

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

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

    Definition Classes
    Foldable
  37. def toString(): String

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

    Permalink

    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
  39. def traverse_[G[_], A, B](fa: F[G[A]])(f: (A) ⇒ G[B])(implicit G: Applicative[G]): G[Unit]

    Permalink

    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
  40. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

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

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped