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

Self Type
Distributive[F]
Linear Supertypes
Functor[F], Invariant[F], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Distributive
  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 distribute[G[_], A, B](ga: G[A])(f: (A) ⇒ F[B])(implicit arg0: Functor[G]): F[G[B]]

    Given a function which returns a distributive F, apply that value across the structure G.

  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.

    Example:

    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForList
    
    scala> Functor[List].as(List(1,2,3), "hello")
    res0: List[String] = List(hello, hello, hello)
    Definition Classes
    Functor
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def compose[G[_]](implicit G0: Distributive[G]): Distributive[[α]F[G[α]]]
  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 composeFunctor[G[_]](implicit arg0: Functor[G]): Invariant[[α]F[G[α]]]
    Definition Classes
    Invariant
  12. def cosequence[G[_], A](ga: G[F[A]])(implicit arg0: Functor[G]): F[G[A]]

    Given a Functor G which wraps some distributive F, distribute F across the G.

  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. final def fmap[A, B](fa: F[A])(f: (A) ⇒ B): F[B]

    Alias for map, since map can't be injected as syntax if the implementing type already had a built-in .map method.

    Alias for map, since map can't be injected as syntax if the implementing type already had a built-in .map method.

    Example:

    scala> import cats.implicits._
    
    scala> val m: Map[Int, String] = Map(1 -> "hi", 2 -> "there", 3 -> "you")
    
    scala> m.fmap(_ ++ "!")
    res0: Map[Int,String] = Map(1 -> hi!, 2 -> there!, 3 -> you!)
    Definition Classes
    Functor
  17. 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

    Example:

    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForOption
    
    scala> Functor[Option].fproduct(Option(42))(_.toString)
    res0: Option[(Int, String)] = Some((42,42))
    Definition Classes
    Functor
  18. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def imap[A, B](fa: F[A])(f: (A) ⇒ B)(g: (B) ⇒ A): F[B]

    Transform an F[A] into an F[B] by providing a transformation from A to B and one from B to A.

    Transform an F[A] into an F[B] by providing a transformation from A to B and one from B to A.

    Example:

    scala> import cats.implicits._
    scala> import scala.concurrent.duration._
    scala> val durSemigroup: Semigroup[FiniteDuration] =
         | Invariant[Semigroup].imap(Semigroup[Long])(Duration.fromNanos)(_.toNanos)
    scala> durSemigroup.combine(2.seconds, 3.seconds)
    res1: FiniteDuration = 5 seconds
    Definition Classes
    FunctorInvariant
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. 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

    Example:

    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForOption
    
    scala> val o = Option(42)
    scala> Functor[Option].lift((x: Int) => x + 10)(o)
    res0: Option[Int] = Some(52)
    Definition Classes
    Functor
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. def tupleLeft[A, B](fa: F[A], b: B): F[(B, A)]

    Tuples the A value in F[A] with the supplied B value, with the B value on the left.

    Tuples the A value in F[A] with the supplied B value, with the B value on the left.

    Example:

    scala> import scala.collection.immutable.Queue
    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForQueue
    
    scala> Functor[Queue].tupleLeft(Queue("hello", "world"), 42)
    res0: scala.collection.immutable.Queue[(Int, String)] = Queue((42,hello), (42,world))
    Definition Classes
    Functor
  29. def tupleRight[A, B](fa: F[A], b: B): F[(A, B)]

    Tuples the A value in F[A] with the supplied B value, with the B value on the right.

    Tuples the A value in F[A] with the supplied B value, with the B value on the right.

    Example:

    scala> import scala.collection.immutable.Queue
    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForQueue
    
    scala> Functor[Queue].tupleRight(Queue("hello", "world"), 42)
    res0: scala.collection.immutable.Queue[(String, Int)] = Queue((hello,42), (world,42))
    Definition Classes
    Functor
  30. 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

    Example:

    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForList
    
    scala> Functor[List].void(List(1,2,3))
    res0: List[Unit] = List((), (), ())
    Definition Classes
    Functor
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  34. 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.

    Example:

    scala> import cats.Functor
    scala> import cats.implicits.catsStdInstancesForOption
    
    scala> val s = Some(42)
    scala> Functor[Option].widen(s)
    res0: Option[Int] = Some(42)
    Definition Classes
    Functor

Inherited from Functor[F]

Inherited from Invariant[F]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped