trait CoflatMap[F[_]] extends Functor[F] with Serializable

CoflatMap is the dual of FlatMap.

Must obey the laws in cats.laws.CoflatMapLaws

Linear Supertypes
Functor[F], Invariant[F], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CoflatMap
  2. Functor
  3. Invariant
  4. Serializable
  5. Serializable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def coflatMap[A, B](fa: F[A])(f: (F[A]) ⇒ B): F[B]

    coflatMap is the dual of flatMap on FlatMap.

    coflatMap is the dual of flatMap on FlatMap. It applies a value in a context to a function that takes a value in a context and returns a normal value.

    Example:

    scala> import cats.implicits._
    scala> import cats.CoflatMap
    scala> val fa = Some(3)
    scala> def f(a: Option[Int]): Int = a match {
         | case Some(x) => 2 * x
         | case None => 0 }
    scala> CoflatMap[Option].coflatMap(fa)(f)
    res0: Option[Int] = Some(6)
  2. abstract def map[A, B](fa: F[A])(f: (A) ⇒ B): F[B]
    Definition Classes
    Functor

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def as[A, B](fa: F[A], b: B): F[B]

    Replaces the A value in F[A] with the supplied value.

    Replaces the A value in F[A] with the supplied value.

    Definition Classes
    Functor
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def coflatten[A](fa: F[A]): F[F[A]]

    coflatten is the dual of flatten on FlatMap.

    coflatten is the dual of flatten on FlatMap. Whereas flatten removes a layer of F, coflatten adds a layer of F

    Example:

    scala> import cats.implicits._
    scala> import cats.CoflatMap
    scala> val fa = Some(3)
    fa: Option[Int] = Some(3)
    scala> CoflatMap[Option].coflatten(fa)
    res0: Option[Option[Int]] = Some(Some(3))
  8. def compose[G[_]](implicit arg0: Functor[G]): Functor[[α]F[G[α]]]
    Definition Classes
    Functor
  9. def compose[G[_]](implicit arg0: Invariant[G]): Invariant[[α]F[G[α]]]
    Definition Classes
    Invariant
  10. def composeContravariant[G[_]](implicit arg0: Contravariant[G]): Contravariant[[α]F[G[α]]]
    Definition Classes
    FunctorInvariant
  11. def composeFilter[G[_]](implicit arg0: FunctorFilter[G]): FunctorFilter[[α]F[G[α]]]
    Definition Classes
    Functor
  12. def composeFunctor[G[_]](implicit arg0: Functor[G]): Invariant[[α]F[G[α]]]
    Definition Classes
    Invariant
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def fproduct[A, B](fa: F[A])(f: (A) ⇒ B): F[(A, B)]

    Tuple the values in fa with the result of applying a function with the value

    Tuple the values in fa with the result of applying a function with the value

    Definition Classes
    Functor
  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  19. def imap[A, B](fa: F[A])(f: (A) ⇒ B)(fi: (B) ⇒ A): F[B]
    Definition Classes
    FunctorInvariant
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def lift[A, B](f: (A) ⇒ B): (F[A]) ⇒ F[B]

    Lift a function f to operate on Functors

    Lift a function f to operate on Functors

    Definition Classes
    Functor
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. def void[A](fa: F[A]): F[Unit]

    Empty the fa of the values, preserving the structure

    Empty the fa of the values, preserving the structure

    Definition Classes
    Functor
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def widen[A, B >: A](fa: F[A]): F[B]

    Lifts natural subtyping covariance of covariant Functors.

    Lifts natural subtyping covariance of covariant Functors.

    NOTE: In certain (perhaps contrived) situations that rely on universal equality this can result in a ClassCastException, because it is implemented as a type cast. It could be implemented as map(identity), but according to the functor laws, that should be equal to fa, and a type cast is often much more performant. See this example of widen creating a ClassCastException.

    Definition Classes
    Functor

Inherited from Functor[F]

Inherited from Invariant[F]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped