scalaz

MonadPlus

trait MonadPlus[F[_]] extends Monad[F] with ApplicativePlus[F]

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

scalaz.PlusEmpty

scalaz.Monad

Linear Supertypes
ApplicativePlus[F], PlusEmpty[F], Plus[F], Monad[F], Bind[F], Applicative[F], Apply[F], Functor[F], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MonadPlus
  2. ApplicativePlus
  3. PlusEmpty
  4. Plus
  5. Monad
  6. Bind
  7. Applicative
  8. Apply
  9. Functor
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait ApplicativeLaw extends FunctorLaw

    Definition Classes
    Applicative
  2. trait EmptyLaw extends PlusLaw

    Definition Classes
    PlusEmpty
  3. trait FunctorLaw extends AnyRef

    Definition Classes
    Functor
  4. trait MonadLaw extends ApplicativeLaw

    Definition Classes
    Monad
  5. trait MonadPlusLaw extends EmptyLaw with MonadLaw

  6. trait PlusLaw extends AnyRef

    Definition Classes
    Plus
  7. trait StrongMonadPlusLaw extends MonadPlusLaw

Abstract Value Members

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

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

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

    Definition Classes
    Bind
  2. abstract def empty[A]: F[A]

    Definition Classes
    PlusEmpty
  3. abstract def plus[A](a: F[A], b: ⇒ F[A]): F[A]

    Definition Classes
    Plus
  4. abstract def point[A](a: ⇒ A): F[A]

    Definition Classes
    Applicative

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def ap[A, B](fa: ⇒ F[A])(f: ⇒ F[(A) ⇒ B]): F[B]

    Definition Classes
    BindApply
  7. def ap2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: F[(A, B) ⇒ C]): F[C]

    Definition Classes
    Apply
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. def apF[A, B](f: ⇒ F[(A) ⇒ B]): (F[A]) ⇒ F[B]

    Flipped variant of ap.

    Flipped variant of ap.

    Definition Classes
    Apply
  15. def applicativeLaw: ApplicativeLaw

    Definition Classes
    Applicative
  16. val applicativePlusSyntax: ApplicativePlusSyntax[F]

    Definition Classes
    ApplicativePlus
  17. val applicativeSyntax: ApplicativeSyntax[F]

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

    Alias for map.

    Alias for map.

    Definition Classes
    Functor
  19. 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
  20. 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
  21. 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
  22. def apply2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: (A, B) ⇒ C): F[C]

    Definition Classes
    ApplicativeApply
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. val applySyntax: ApplySyntax[F]

    Definition Classes
    Apply
  31. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  32. val bindSyntax: BindSyntax[F]

    Definition Classes
    Bind
  33. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. def compose[G[_]](implicit G0: ApplicativePlus[G]): ApplicativePlus[[α]F[G[α]]]

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

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

    Definition Classes
    ApplicativePlus
  35. def compose[G[_]](implicit G0: Applicative[G]): Applicative[[α]F[G[α]]]

    The composition of Applicatives F and G, [x]F[G[x]], is an Applicative

    The composition of Applicatives F and G, [x]F[G[x]], is an Applicative

    Definition Classes
    Applicative
  36. 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
  37. 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
  38. def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]

    Definition Classes
    Functor
  39. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  41. def filter[A](fa: F[A])(f: (A) ⇒ Boolean): F[A]

    Remove f-failing As in fa, by which we mean: in the expression filter(filter(fa)(f))(g), g will never be invoked for any a where f(a) returns false.

  42. def filterM[A](l: List[A])(f: (A) ⇒ F[Boolean]): F[List[A]]

    Filter l according to an applicative predicate.

    Filter l according to an applicative predicate.

    Definition Classes
    Applicative
  43. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  44. def flip: Applicative[F]

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

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

    Definition Classes
    Applicative
  45. def fpair[A](fa: F[A]): F[(A, A)]

    Twin all As in fa.

    Twin all As in fa.

    Definition Classes
    Functor
  46. 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
  47. def functorLaw: FunctorLaw

    Definition Classes
    Functor
  48. val functorSyntax: FunctorSyntax[F]

    Definition Classes
    Functor
  49. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  51. 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.

    Definition Classes
    Bind
  52. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  53. def join[A](ffa: F[F[A]]): F[A]

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

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

    Definition Classes
    Bind
  54. def lift[A, B](f: (A) ⇒ B): (F[A]) ⇒ F[B]

    Lift f into F.

    Lift f into F.

    Definition Classes
    Functor
  55. 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
  56. 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
  57. 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
  58. def lift2[A, B, C](f: (A, B) ⇒ C): (F[A], F[B]) ⇒ F[C]

    Definition Classes
    Apply
  59. def lift3[A, B, C, D](f: (A, B, C) ⇒ D): (F[A], F[B], F[C]) ⇒ F[D]

    Definition Classes
    Apply
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. def many[A](a: F[A]): F[List[A]]

    A list of results acquired by repeating a.

    A list of results acquired by repeating a. Never empty; initial failure is an empty list instead.

    Definition Classes
    ApplicativePlus
  67. 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
    MonadApplicativeFunctor
  68. 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
  69. def monadLaw: MonadLaw

    Definition Classes
    Monad
  70. def monadPlusLaw: MonadPlusLaw

  71. val monadPlusSyntax: MonadPlusSyntax[F]

  72. val monadSyntax: MonadSyntax[F]

    Definition Classes
    Monad
  73. def monoid[A]: Monoid[F[A]]

    Definition Classes
    PlusEmpty
  74. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  75. final def notify(): Unit

    Definition Classes
    AnyRef
  76. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  77. def plusEmptyLaw: EmptyLaw

    Definition Classes
    PlusEmpty
  78. val plusEmptySyntax: PlusEmptySyntax[F]

    Definition Classes
    PlusEmpty
  79. def plusLaw: PlusLaw

    Definition Classes
    Plus
  80. val plusSyntax: PlusSyntax[F]

    Definition Classes
    Plus
  81. def product[G[_]](implicit G0: ApplicativePlus[G]): ApplicativePlus[[α](F[α], G[α])]

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

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

    Definition Classes
    ApplicativePlus
  82. def product[G[_]](implicit G0: Applicative[G]): Applicative[[α](F[α], G[α])]

    The product of Applicatives F and G, [x](F[x], G[x]]), is an Applicative

    The product of Applicatives F and G, [x](F[x], G[x]]), is an Applicative

    Definition Classes
    Applicative
  83. 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
  84. 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
  85. def pure[A](a: ⇒ A): F[A]

    Definition Classes
    Applicative
  86. def replicateM[A](n: Int, fa: F[A]): F[List[A]]

    Performs the action n times, returning the list of results.

    Performs the action n times, returning the list of results.

    Definition Classes
    Applicative
  87. def replicateM_[A](n: Int, fa: F[A]): F[Unit]

    Performs the action n times, returning nothing.

    Performs the action n times, returning nothing.

    Definition Classes
    Applicative
  88. def semigroup[A]: Semigroup[F[A]]

    Definition Classes
    Plus
  89. def sequence[A, G[_]](as: G[F[A]])(implicit arg0: Traverse[G]): F[G[A]]

    Definition Classes
    Applicative
  90. def sequence1[A, G[_]](as: G[F[A]])(implicit arg0: Traverse1[G]): F[G[A]]

    Definition Classes
    Apply
  91. def some[A](a: F[A]): F[List[A]]

    empty or a non-empty list of results acquired by repeating a.

    empty or a non-empty list of results acquired by repeating a.

    Definition Classes
    ApplicativePlus
  92. 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
  93. 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
  94. def strongMonadPlusLaw: StrongMonadPlusLaw

  95. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  96. def toString(): String

    Definition Classes
    AnyRef → Any
  97. def traverse[A, G[_], B](value: G[A])(f: (A) ⇒ F[B])(implicit G: Traverse[G]): F[G[B]]

    Definition Classes
    Applicative
  98. def traverse1[A, G[_], B](value: G[A])(f: (A) ⇒ F[B])(implicit G: Traverse1[G]): F[G[B]]

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

    Definition Classes
    Apply
  100. def tuple3[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B], fc: F[C]): F[(A, B, C)]

    Definition Classes
    Apply
  101. 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
  102. 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
  103. def unite[T[_], A](value: F[T[A]])(implicit T: Foldable[T]): F[A]

    Generalized version of Haskell's catMaybes

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  108. def zip: Zip[F]

    scalaz.Zip derived from tuple2.

    scalaz.Zip derived from tuple2.

    Definition Classes
    Apply

Deprecated Value Members

  1. def map2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: (A, B) ⇒ C): F[C]

    Definition Classes
    Apply
    Annotations
    @deprecated
    Deprecated

    (Since version 7) given F: Apply[F] use F(a,b)(f) instead, or given implicitly[Apply[F]], use ^(a,b)(f)

  2. def map3[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C])(f: (A, B, C) ⇒ D): F[D]

    Definition Classes
    Apply
    Annotations
    @deprecated
    Deprecated

    (Since version 7) given F: Apply[F] use F(a,b,c)(f) instead, or given implicitly[Apply[F]], use ^(a,b,c)(f)

  3. def map4[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
    Annotations
    @deprecated
    Deprecated

    (Since version 7) given F: Apply[F] use F(a,b,c,d)(f) instead, or given implicitly[Apply[F]], use ^(a,b,c,d)(f)

Inherited from ApplicativePlus[F]

Inherited from PlusEmpty[F]

Inherited from Plus[F]

Inherited from Monad[F]

Inherited from Bind[F]

Inherited from Applicative[F]

Inherited from Apply[F]

Inherited from Functor[F]

Inherited from AnyRef

Inherited from Any

Ungrouped