t

scalaz

# Distributive

### Companion object Distributive

#### traitDistributive[F[_]] extends Functor[F] with DistributiveParent[F]

Dual of scalaz.Traverse. To transform `F[G[B]]` to `G[F[B]]`, you may use `Traverse[F]` and `Applicative[G]`, but alternatively `Functor[F]` and `Distributive[G]`, which permits greater sharing and nonstrictness.

Self Type
Distributive[F]
Source
Distributive.scala
Linear Supertypes
Known Subclasses
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. Distributive
2. DistributiveParent
3. Functor
4. InvariantFunctor
5. AnyRef
6. Any
1. Hide All
2. Show All
Visibility
1. Public
2. Protected

### Type Members

1. class Distribution[G[_]] extends AnyRef
2. trait FunctorLaw extends InvariantFunctorLaw
Definition Classes
Functor
3. trait InvariantFunctorLaw extends AnyRef
Definition Classes
InvariantFunctor

### Abstract Value Members

1. abstract def distributeImpl[G[_], A, B](fa: G[A])(f: (A) => F[B])(implicit arg0: Functor[G]): F[G[B]]
2. abstract def map[A, B](fa: F[A])(f: (A) => B): F[B]

Lift `f` into `F` and apply to `F[A]`.

Lift `f` into `F` and apply to `F[A]`.

Definition Classes
Functor

### Concrete Value Members

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

Alias for `map`.

Alias for `map`.

Definition Classes
Functor
5. final def asInstanceOf[T0]: T0
Definition Classes
Any
6. def bicompose[G[_, _]](implicit arg0: Bifunctor[G]): Bifunctor[[α, β]F[G[α, β]]]

The composition of Functor `F` and Bifunctor `G`, `[x, y]F[G[x, y]]`, is a Bifunctor

The composition of Functor `F` and Bifunctor `G`, `[x, y]F[G[x, y]]`, is a Bifunctor

Definition Classes
Functor
7. def clone()
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
8. def compose[G[_]](implicit G0: Distributive[G]): Distributive[[α]F[G[α]]]

The composition of Distributives `F` and `G`, `[x]F[G[x]]`, is a Distributive

9. def compose[G[_]](implicit G0: Functor[G]): Functor[[α]F[G[α]]]

The composition of Functors `F` and `G`, `[x]F[G[x]]`, is a Functor

The composition of Functors `F` and `G`, `[x]F[G[x]]`, is a Functor

Definition Classes
Functor
10. def cosequence[G[_], A](fa: G[F[A]])(implicit arg0: Functor[G]): F[G[A]]
11. def cotraverse[G[_], A, B](gfa: G[F[A]])(f: (G[A]) => B)(implicit arg0: Functor[G]): F[B]
Definition Classes
DistributiveParent
12. def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]
Definition Classes
Functor
13. def distribute[G[_], A, B](fa: G[A])(f: (A) => F[B])(implicit arg0: Functor[G]): F[G[B]]
14. def distribution[G[_]](implicit arg0: Functor[G]): Distribution[G]
15. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
16. def equals(arg0: AnyRef)
Definition Classes
AnyRef → Any
17. def finalize(): Unit
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
18. def fpair[A](fa: F[A]): F[(A, A)]

Twin all `A`s in `fa`.

Twin all `A`s in `fa`.

Definition Classes
Functor
19. def fproduct[A, B](fa: F[A])(f: (A) => B): F[(A, B)]

Pair all `A`s in `fa` with the result of function application.

Pair all `A`s in `fa` with the result of function application.

Definition Classes
Functor
20. def functorLaw
Definition Classes
Functor
21. val functorSyntax: FunctorSyntax[F]
Definition Classes
Functor
22. final def getClass(): Class[_ <: AnyRef]
Definition Classes
AnyRef → Any
Annotations
@native()
23. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
24. def icompose[G[_]](implicit G0: Contravariant[G]): Contravariant[[α]F[G[α]]]

The composition of Functor F and Contravariant G, `[x]F[G[x]]`, is contravariant.

The composition of Functor F and Contravariant G, `[x]F[G[x]]`, is contravariant.

Definition Classes
Functor
25. def invariantFunctorLaw
Definition Classes
InvariantFunctor
26. val invariantFunctorSyntax
Definition Classes
InvariantFunctor
27. final def isInstanceOf[T0]
Definition Classes
Any
28. def lift[A, B](f: (A) => B): (F[A]) => F[B]

Lift `f` into `F`.

Lift `f` into `F`.

Definition Classes
Functor
29. def mapply[A, B](a: A)(f: F[(A) => B]): F[B]

Lift `apply(a)`, and apply the result to `f`.

Lift `apply(a)`, and apply the result to `f`.

Definition Classes
Functor
30. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
31. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
32. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
33. def product[G[_]](implicit G0: Distributive[G]): Distributive[[α](F[α], G[α])]

The product of Distributives `F` and `G`, `[x](F[x], G[x]])`, is a Distributive

34. def product[G[_]](implicit G0: Functor[G]): Functor[[α](F[α], G[α])]

The product of Functors `F` and `G`, `[x](F[x], G[x]])`, is a Functor

The product of Functors `F` and `G`, `[x](F[x], G[x]])`, is a Functor

Definition Classes
Functor
35. def strengthL[A, B](a: A, f: F[B]): F[(A, B)]

Inject `a` to the left of `B`s in `f`.

Inject `a` to the left of `B`s in `f`.

Definition Classes
Functor
36. def strengthR[A, B](f: F[A], b: B): F[(A, B)]

Inject `b` to the right of `A`s in `f`.

Inject `b` to the right of `A`s in `f`.

Definition Classes
Functor
37. final def synchronized[T0](arg0: => T0): T0
Definition Classes
AnyRef
38. def toString()
Definition Classes
AnyRef → Any
39. def void[A](fa: F[A]): F[Unit]

Empty `fa` of meaningful pure values, preserving its structure.

Empty `fa` of meaningful pure values, preserving its structure.

Definition Classes
Functor
40. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])
41. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])
42. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()
43. def widen[A, B](fa: F[A])(implicit ev: <~<[A, B]): F[B]

Functors are covariant by nature, so we can treat an `F[A]` as an `F[B]` if `A` is a subtype of `B`.

Functors are covariant by nature, so we can treat an `F[A]` as an `F[B]` if `A` is a subtype of `B`.

Definition Classes
Functor
44. def xmap[A, B](fa: F[A], f: (A) => B, g: (B) => A): F[B]

Converts `ma` to a value of type `F[B]` using the provided functions `f` and `g`.

Converts `ma` to a value of type `F[B]` using the provided functions `f` and `g`.

Definition Classes
FunctorInvariantFunctor
45. def xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]

Converts `ma` to a value of type `F[B]` using the provided bijection.

Converts `ma` to a value of type `F[B]` using the provided bijection.

Definition Classes
InvariantFunctor
46. def xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]

Converts `ma` to a value of type `F[B]` using the provided isomorphism.

Converts `ma` to a value of type `F[B]` using the provided isomorphism.

Definition Classes
InvariantFunctor