Packages

trait Bind[F[_]] extends Apply[F]

An scalaz.Apply functor, where a lifted function can introduce new values _and_ new functor context to be incorporated into the lift context. The essential new operation of scalaz.Monads.

Self Type
Bind[F]
Source
Bind.scala
See also

scalaz.Bind.BindLaw

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bind
  2. Apply
  3. Functor
  4. InvariantFunctor
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait ApplyLaw extends FunctorLaw
    Definition Classes
    Apply
  2. trait FlippedApply extends Apply[F]
    Attributes
    protected[this]
    Definition Classes
    Apply
  3. trait BindLaw extends ApplyLaw
  4. trait FunctorLaw extends InvariantFunctorLaw
    Definition Classes
    Functor
  5. trait InvariantFunctorLaw extends AnyRef
    Definition Classes
    InvariantFunctor

Abstract Value Members

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

    Equivalent to join(map(fa)(f)).

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

    Sequence f, then fa, combining their results by function application.

    Sequence f, then fa, combining their results by function application.

    NB: with respect to apply2 and all other combinators, as well as scalaz.Bind, the f action appears to the *left*. So f should be the "first" F-action to perform. This is in accordance with all other implementations of this typeclass in common use, which are "function first".

    Definition Classes
    BindApply
  5. def ap2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: F[(A, B) ⇒ C]): F[C]
    Definition Classes
    Apply
  6. def ap3[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C])(f: F[(A, B, C) ⇒ D]): F[D]
    Definition Classes
    Apply
  7. def ap4[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D])(f: F[(A, B, C, D) ⇒ E]): F[E]
    Definition Classes
    Apply
  8. def ap5[A, B, C, D, E, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E])(f: F[(A, B, C, D, E) ⇒ R]): F[R]
    Definition Classes
    Apply
  9. def ap6[A, B, C, D, E, FF, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF])(f: F[(A, B, C, D, E, FF) ⇒ R]): F[R]
    Definition Classes
    Apply
  10. def ap7[A, B, C, D, E, FF, G, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G])(f: F[(A, B, C, D, E, FF, G) ⇒ R]): F[R]
    Definition Classes
    Apply
  11. def ap8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H])(f: F[(A, B, C, D, E, FF, G, H) ⇒ R]): F[R]
    Definition Classes
    Apply
  12. def apF[A, B](f: ⇒ F[(A) ⇒ B]): (F[A]) ⇒ F[B]

    Flipped variant of ap.

    Flipped variant of ap.

    Definition Classes
    Apply
  13. def apply[A, B](fa: F[A])(f: (A) ⇒ B): F[B]

    Alias for map.

    Alias for map.

    Definition Classes
    Functor
  14. def apply10[A, B, C, D, E, FF, G, H, I, J, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J])(f: (A, B, C, D, E, FF, G, H, I, J) ⇒ R): F[R]
    Definition Classes
    Apply
  15. def apply11[A, B, C, D, E, FF, G, H, I, J, K, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J], fk: ⇒ F[K])(f: (A, B, C, D, E, FF, G, H, I, J, K) ⇒ R): F[R]
    Definition Classes
    Apply
  16. def apply12[A, B, C, D, E, FF, G, H, I, J, K, L, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J], fk: ⇒ F[K], fl: ⇒ F[L])(f: (A, B, C, D, E, FF, G, H, I, J, K, L) ⇒ R): F[R]
    Definition Classes
    Apply
  17. def apply2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: (A, B) ⇒ C): F[C]
    Definition Classes
    BindApply
  18. def apply3[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C])(f: (A, B, C) ⇒ D): F[D]
    Definition Classes
    Apply
  19. def apply4[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D])(f: (A, B, C, D) ⇒ E): F[E]
    Definition Classes
    Apply
  20. def apply5[A, B, C, D, E, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E])(f: (A, B, C, D, E) ⇒ R): F[R]
    Definition Classes
    Apply
  21. def apply6[A, B, C, D, E, FF, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF])(f: (A, B, C, D, E, FF) ⇒ R): F[R]
    Definition Classes
    Apply
  22. def apply7[A, B, C, D, E, FF, G, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G])(f: (A, B, C, D, E, FF, G) ⇒ R): F[R]
    Definition Classes
    Apply
  23. def apply8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H])(f: (A, B, C, D, E, FF, G, H) ⇒ R): F[R]
    Definition Classes
    Apply
  24. def apply9[A, B, C, D, E, FF, G, H, I, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I])(f: (A, B, C, D, E, FF, G, H, I) ⇒ R): F[R]
    Definition Classes
    Apply
  25. def applyApplicative: Applicative[[α]\/[F[α], α]]

    Add a unit to any Apply to form an Applicative.

    Add a unit to any Apply to form an Applicative.

    Definition Classes
    Apply
  26. def applyLaw: ApplyLaw
    Definition Classes
    Apply
  27. val applySyntax: ApplySyntax[F]
    Definition Classes
    Apply
  28. final def applying1[Z, A1](f: (A1) ⇒ Z)(implicit a1: F[A1]): F[Z]
    Definition Classes
    Apply
  29. final def applying2[Z, A1, A2](f: (A1, A2) ⇒ Z)(implicit a1: F[A1], a2: F[A2]): F[Z]
    Definition Classes
    Apply
  30. final def applying3[Z, A1, A2, A3](f: (A1, A2, A3) ⇒ Z)(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
    Definition Classes
    Apply
  31. final def applying4[Z, A1, A2, A3, A4](f: (A1, A2, A3, A4) ⇒ Z)(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
    Definition Classes
    Apply
  32. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  33. 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
  34. def bindLaw: BindLaw
  35. val bindSyntax: BindSyntax[F]
  36. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  37. def compose[G[_]](implicit G0: Apply[G]): Apply[[α]F[G[α]]]

    The composition of Applys F and G, [x]F[G[x]], is a Apply

    The composition of Applys F and G, [x]F[G[x]], is a Apply

    Definition Classes
    Apply
  38. 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
  39. def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]
    Definition Classes
    Functor
  40. def discardLeft[A, B](fa: ⇒ F[A], fb: ⇒ F[B]): F[B]

    Combine fa and fb according to Apply[F] with a function that discards the A(s)

    Combine fa and fb according to Apply[F] with a function that discards the A(s)

    Definition Classes
    Apply
  41. def discardRight[A, B](fa: ⇒ F[A], fb: ⇒ F[B]): F[A]

    Combine fa and fb according to Apply[F] with a function that discards the B(s)

    Combine fa and fb according to Apply[F] with a function that discards the B(s)

    Definition Classes
    Apply
  42. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  44. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  45. def flip: Apply[F]

    An Apply for F in which effects happen in the opposite order.

    An Apply for F in which effects happen in the opposite order.

    Definition Classes
    Apply
  46. def forever[A, B](fa: F[A]): F[B]

    Repeats an applicative action infinitely

    Repeats an applicative action infinitely

    Definition Classes
    Apply
  47. def fpair[A](fa: F[A]): F[(A, A)]

    Twin all As in fa.

    Twin all As in fa.

    Definition Classes
    Functor
  48. def fproduct[A, B](fa: F[A])(f: (A) ⇒ B): F[(A, B)]

    Pair all As in fa with the result of function application.

    Pair all As in fa with the result of function application.

    Definition Classes
    Functor
  49. def functorLaw: FunctorLaw
    Definition Classes
    Functor
  50. val functorSyntax: FunctorSyntax[F]
    Definition Classes
    Functor
  51. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  52. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  53. 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
  54. def ifM[B](value: F[Boolean], ifTrue: ⇒ F[B], ifFalse: ⇒ F[B]): F[B]

    if lifted into a binding.

    if lifted into a binding. Unlike lift3((t,c,a)=>if(t)c else a), this will only include context from the chosen of ifTrue and ifFalse, not the other.

  55. def invariantFunctorLaw: InvariantFunctorLaw
    Definition Classes
    InvariantFunctor
  56. val invariantFunctorSyntax: InvariantFunctorSyntax[F]
    Definition Classes
    InvariantFunctor
  57. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  58. def join[A](ffa: F[F[A]]): F[A]

    Sequence the inner F of FFA after the outer F, forming a single F[A].

  59. def lift[A, B](f: (A) ⇒ B): (F[A]) ⇒ F[B]

    Lift f into F.

    Lift f into F.

    Definition Classes
    Functor
  60. def lift10[A, B, C, D, E, FF, G, H, I, J, R](f: (A, B, C, D, E, FF, G, H, I, J) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J]) ⇒ F[R]
    Definition Classes
    Apply
  61. def lift11[A, B, C, D, E, FF, G, H, I, J, K, R](f: (A, B, C, D, E, FF, G, H, I, J, K) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K]) ⇒ F[R]
    Definition Classes
    Apply
  62. def lift12[A, B, C, D, E, FF, G, H, I, J, K, L, R](f: (A, B, C, D, E, FF, G, H, I, J, K, L) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K], F[L]) ⇒ F[R]
    Definition Classes
    Apply
  63. def lift2[A, B, C](f: (A, B) ⇒ C): (F[A], F[B]) ⇒ F[C]
    Definition Classes
    Apply
  64. def lift3[A, B, C, D](f: (A, B, C) ⇒ D): (F[A], F[B], F[C]) ⇒ F[D]
    Definition Classes
    Apply
  65. def lift4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (F[A], F[B], F[C], F[D]) ⇒ F[E]
    Definition Classes
    Apply
  66. def lift5[A, B, C, D, E, R](f: (A, B, C, D, E) ⇒ R): (F[A], F[B], F[C], F[D], F[E]) ⇒ F[R]
    Definition Classes
    Apply
  67. def lift6[A, B, C, D, E, FF, R](f: (A, B, C, D, E, FF) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF]) ⇒ F[R]
    Definition Classes
    Apply
  68. def lift7[A, B, C, D, E, FF, G, R](f: (A, B, C, D, E, FF, G) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G]) ⇒ F[R]
    Definition Classes
    Apply
  69. def lift8[A, B, C, D, E, FF, G, H, R](f: (A, B, C, D, E, FF, G, H) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H]) ⇒ F[R]
    Definition Classes
    Apply
  70. def lift9[A, B, C, D, E, FF, G, H, I, R](f: (A, B, C, D, E, FF, G, H, I) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I]) ⇒ F[R]
    Definition Classes
    Apply
  71. def liftReducer[A, B](implicit r: Reducer[A, B]): Reducer[F[A], F[B]]
    Definition Classes
    Apply
  72. 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
  73. def mproduct[A, B](fa: F[A])(f: (A) ⇒ F[B]): F[(A, B)]

    Pair A with the result of function application.

  74. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  75. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  76. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  77. def product[G[_]](implicit G0: Bind[G]): Bind[[α](F[α], G[α])]

    The product of Bind F and G, [x](F[x], G[x]]), is a Bind

  78. def product[G[_]](implicit G0: Apply[G]): Apply[[α](F[α], G[α])]

    The product of Applys F and G, [x](F[x], G[x]]), is a Apply

    The product of Applys F and G, [x](F[x], G[x]]), is a Apply

    Definition Classes
    Apply
  79. 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
  80. def sequence1[A, G[_]](as: G[F[A]])(implicit arg0: Traverse1[G]): F[G[A]]
    Definition Classes
    Apply
  81. def strengthL[A, B](a: A, f: F[B]): F[(A, B)]

    Inject a to the left of Bs in f.

    Inject a to the left of Bs in f.

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

    Inject b to the right of As in f.

    Inject b to the right of As in f.

    Definition Classes
    Functor
  83. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  84. def toString(): String
    Definition Classes
    AnyRef → Any
  85. def traverse1[A, G[_], B](value: G[A])(f: (A) ⇒ F[B])(implicit G: Traverse1[G]): F[G[B]]
    Definition Classes
    Apply
  86. def tuple2[A, B](fa: ⇒ F[A], fb: ⇒ F[B]): F[(A, B)]
    Definition Classes
    Apply
  87. def tuple3[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C]): F[(A, B, C)]
    Definition Classes
    Apply
  88. def tuple4[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D]): F[(A, B, C, D)]
    Definition Classes
    Apply
  89. def tuple5[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E]): F[(A, B, C, D, E)]
    Definition Classes
    Apply
  90. def unfoldrOpt[S, A, B](seed: S)(f: (S) ⇒ Maybe[(F[A], S)])(implicit R: Reducer[A, B]): Maybe[F[B]]

    Unfold seed to the right and combine effects left-to-right, using the given Reducer to combine values.

    Unfold seed to the right and combine effects left-to-right, using the given Reducer to combine values. Implementations may override this method to not unfold more than is necessary to determine the result.

    Definition Classes
    Apply
  91. 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
  92. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  93. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  94. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  95. 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
  96. 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
  97. 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
  98. 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

Inherited from Apply[F]

Inherited from Functor[F]

Inherited from InvariantFunctor[F]

Inherited from AnyRef

Inherited from Any

Ungrouped