com.thoughtworks.sde.comprehensionMonad.ComprehensionMonad

AbstractMonad

abstract class AbstractMonad[F0[_]] extends Monad[F0]

Linear Supertypes
Monad[F0], Bind[F0], Applicative[F0], Apply[F0], Functor[F0], InvariantFunctor[F0], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AbstractMonad
  2. Monad
  3. Bind
  4. Applicative
  5. Apply
  6. Functor
  7. InvariantFunctor
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AbstractMonad()

Type Members

  1. trait ApplicativeLaw extends scalaz.Applicative.ApplyLaw

    Definition Classes
    Applicative
  2. trait ApplyLaw extends scalaz.Apply.FunctorLaw

    Definition Classes
    Apply
  3. trait BindLaw extends scalaz.Bind.ApplyLaw

    Definition Classes
    Bind
  4. type F[A] = F0[A]

    Attributes
    protected
  5. trait FunctorLaw extends scalaz.Functor.InvariantFunctorLaw

    Definition Classes
    Functor
  6. trait InvariantFunctorLaw extends AnyRef

    Definition Classes
    InvariantFunctor
  7. trait MonadLaw extends scalaz.Monad.ApplicativeLaw with scalaz.Monad.BindLaw

    Definition Classes
    Monad

Abstract Value Members

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

    Definition Classes
    Bind
  2. abstract def point[A](a: ⇒ A): F0[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: ⇒ F0[A])(f: ⇒ F0[(A) ⇒ B]): F0[B]

    Definition Classes
    Bind → Apply
  7. def ap2[A, B, C](fa: ⇒ F0[A], fb: ⇒ F0[B])(f: F0[(A, B) ⇒ C]): F0[C]

    Definition Classes
    Apply
  8. def ap3[A, B, C, D](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C])(f: F0[(A, B, C) ⇒ D]): F0[D]

    Definition Classes
    Apply
  9. def ap4[A, B, C, D, E](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D])(f: F0[(A, B, C, D) ⇒ E]): F0[E]

    Definition Classes
    Apply
  10. def ap5[A, B, C, D, E, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E])(f: F0[(A, B, C, D, E) ⇒ R]): F0[R]

    Definition Classes
    Apply
  11. def ap6[A, B, C, D, E, FF, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF])(f: F0[(A, B, C, D, E, FF) ⇒ R]): F0[R]

    Definition Classes
    Apply
  12. def ap7[A, B, C, D, E, FF, G, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G])(f: F0[(A, B, C, D, E, FF, G) ⇒ R]): F0[R]

    Definition Classes
    Apply
  13. def ap8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H])(f: F0[(A, B, C, D, E, FF, G, H) ⇒ R]): F0[R]

    Definition Classes
    Apply
  14. def apF[A, B](f: ⇒ F0[(A) ⇒ B]): (F0[A]) ⇒ F0[B]

    Definition Classes
    Apply
  15. def applicativeLaw: ApplicativeLaw

    Definition Classes
    Applicative
  16. val applicativeSyntax: ApplicativeSyntax[F0]

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

    Definition Classes
    Functor
  18. def apply10[A, B, C, D, E, FF, G, H, I, J, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H], fi: ⇒ F0[I], fj: ⇒ F0[J])(f: (A, B, C, D, E, FF, G, H, I, J) ⇒ R): F0[R]

    Definition Classes
    Apply
  19. def apply11[A, B, C, D, E, FF, G, H, I, J, K, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H], fi: ⇒ F0[I], fj: ⇒ F0[J], fk: ⇒ F0[K])(f: (A, B, C, D, E, FF, G, H, I, J, K) ⇒ R): F0[R]

    Definition Classes
    Apply
  20. def apply12[A, B, C, D, E, FF, G, H, I, J, K, L, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H], fi: ⇒ F0[I], fj: ⇒ F0[J], fk: ⇒ F0[K], fl: ⇒ F0[L])(f: (A, B, C, D, E, FF, G, H, I, J, K, L) ⇒ R): F0[R]

    Definition Classes
    Apply
  21. def apply2[A, B, C](fa: ⇒ F0[A], fb: ⇒ F0[B])(f: (A, B) ⇒ C): F0[C]

    Definition Classes
    Applicative → Apply
  22. def apply3[A, B, C, D](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C])(f: (A, B, C) ⇒ D): F0[D]

    Definition Classes
    Apply
  23. def apply4[A, B, C, D, E](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D])(f: (A, B, C, D) ⇒ E): F0[E]

    Definition Classes
    Apply
  24. def apply5[A, B, C, D, E, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E])(f: (A, B, C, D, E) ⇒ R): F0[R]

    Definition Classes
    Apply
  25. def apply6[A, B, C, D, E, FF, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF])(f: (A, B, C, D, E, FF) ⇒ R): F0[R]

    Definition Classes
    Apply
  26. def apply7[A, B, C, D, E, FF, G, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G])(f: (A, B, C, D, E, FF, G) ⇒ R): F0[R]

    Definition Classes
    Apply
  27. def apply8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H])(f: (A, B, C, D, E, FF, G, H) ⇒ R): F0[R]

    Definition Classes
    Apply
  28. def apply9[A, B, C, D, E, FF, G, H, I, R](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E], ff: ⇒ F0[FF], fg: ⇒ F0[G], fh: ⇒ F0[H], fi: ⇒ F0[I])(f: (A, B, C, D, E, FF, G, H, I) ⇒ R): F0[R]

    Definition Classes
    Apply
  29. def applyApplicative: Applicative[[α]\/[F0[α], α]]

    Definition Classes
    Apply
  30. def applyLaw: ApplyLaw

    Definition Classes
    Apply
  31. val applySyntax: ApplySyntax[F0]

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

    Definition Classes
    Any
  33. def bicompose[G[_, _]](implicit arg0: Bifunctor[G]): Bifunctor[[α, β]F0[G[α, β]]]

    Definition Classes
    Functor
  34. def bindLaw: BindLaw

    Definition Classes
    Bind
  35. val bindSyntax: BindSyntax[F0]

    Definition Classes
    Bind
  36. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def compose[G[_]](implicit G0: Applicative[G]): Applicative[[α]F0[G[α]]]

    Definition Classes
    Applicative
  38. def compose[G[_]](implicit G0: Apply[G]): Apply[[α]F0[G[α]]]

    Definition Classes
    Apply
  39. def compose[G[_]](implicit G0: Functor[G]): Functor[[α]F0[G[α]]]

    Definition Classes
    Functor
  40. def counzip[A, B](a: \/[F0[A], F0[B]]): F0[\/[A, B]]

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

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

    Definition Classes
    AnyRef → Any
  43. def filterM[A](l: List[A])(f: (A) ⇒ F0[Boolean]): F0[List[A]]

    Definition Classes
    Applicative
  44. def finalize(): Unit

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

    Definition Classes
    Applicative
  46. def forever[A, B](fa: F0[A]): F0[B]

    Definition Classes
    Bind
  47. def fpair[A](fa: F0[A]): F0[(A, A)]

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

    Definition Classes
    Functor
  49. def functorLaw: FunctorLaw

    Definition Classes
    Functor
  50. val functorSyntax: FunctorSyntax[F0]

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

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

    Definition Classes
    AnyRef → Any
  53. def icompose[G[_]](implicit G0: Contravariant[G]): Contravariant[[α]F0[G[α]]]

    Definition Classes
    Functor
  54. def ifM[B](value: F0[Boolean], ifTrue: ⇒ F0[B], ifFalse: ⇒ F0[B]): F0[B]

    Definition Classes
    Bind
  55. def invariantFunctorLaw: InvariantFunctorLaw

    Definition Classes
    InvariantFunctor
  56. val invariantFunctorSyntax: InvariantFunctorSyntax[F0]

    Definition Classes
    InvariantFunctor
  57. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  58. def iterateUntil[A](f: F0[A])(p: (A) ⇒ Boolean): F0[A]

    Definition Classes
    Monad
  59. def iterateWhile[A](f: F0[A])(p: (A) ⇒ Boolean): F0[A]

    Definition Classes
    Monad
  60. def join[A](ffa: F0[F0[A]]): F0[A]

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

    Definition Classes
    Functor
  62. 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): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G], F0[H], F0[I], F0[J]) ⇒ F0[R]

    Definition Classes
    Apply
  63. 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): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G], F0[H], F0[I], F0[J], F0[K]) ⇒ F0[R]

    Definition Classes
    Apply
  64. 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): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G], F0[H], F0[I], F0[J], F0[K], F0[L]) ⇒ F0[R]

    Definition Classes
    Apply
  65. def lift2[A, B, C](f: (A, B) ⇒ C): (F0[A], F0[B]) ⇒ F0[C]

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

    Definition Classes
    Apply
  67. def lift4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (F0[A], F0[B], F0[C], F0[D]) ⇒ F0[E]

    Definition Classes
    Apply
  68. def lift5[A, B, C, D, E, R](f: (A, B, C, D, E) ⇒ R): (F0[A], F0[B], F0[C], F0[D], F0[E]) ⇒ F0[R]

    Definition Classes
    Apply
  69. def lift6[A, B, C, D, E, FF, R](f: (A, B, C, D, E, FF) ⇒ R): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF]) ⇒ F0[R]

    Definition Classes
    Apply
  70. def lift7[A, B, C, D, E, FF, G, R](f: (A, B, C, D, E, FF, G) ⇒ R): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G]) ⇒ F0[R]

    Definition Classes
    Apply
  71. def lift8[A, B, C, D, E, FF, G, H, R](f: (A, B, C, D, E, FF, G, H) ⇒ R): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G], F0[H]) ⇒ F0[R]

    Definition Classes
    Apply
  72. def lift9[A, B, C, D, E, FF, G, H, I, R](f: (A, B, C, D, E, FF, G, H, I) ⇒ R): (F0[A], F0[B], F0[C], F0[D], F0[E], F0[FF], F0[G], F0[H], F0[I]) ⇒ F0[R]

    Definition Classes
    Apply
  73. def map[A, B](fa: F0[A])(f: (A) ⇒ B): F0[B]

    Definition Classes
    Monad → Applicative → Functor
  74. def mapply[A, B](a: A)(f: F0[(A) ⇒ B]): F0[B]

    Definition Classes
    Functor
  75. def monadLaw: MonadLaw

    Definition Classes
    Monad
  76. val monadSyntax: MonadSyntax[F0]

    Definition Classes
    Monad
  77. def mproduct[A, B](fa: F0[A])(f: (A) ⇒ F0[B]): F0[(A, B)]

    Definition Classes
    Bind
  78. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  81. def product[G[_]](implicit G0: Monad[G]): Monad[[α](F0[α], G[α])]

    Definition Classes
    Monad
  82. def product[G[_]](implicit G0: Bind[G]): Bind[[α](F0[α], G[α])]

    Definition Classes
    Bind
  83. def product[G[_]](implicit G0: Applicative[G]): Applicative[[α](F0[α], G[α])]

    Definition Classes
    Applicative
  84. def product[G[_]](implicit G0: Apply[G]): Apply[[α](F0[α], G[α])]

    Definition Classes
    Apply
  85. def product[G[_]](implicit G0: Functor[G]): Functor[[α](F0[α], G[α])]

    Definition Classes
    Functor
  86. final def pure[A](a: ⇒ A): F0[A]

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

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

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

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

    Definition Classes
    Apply
  91. def strengthL[A, B](a: A, f: F0[B]): F0[(A, B)]

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

    Definition Classes
    Functor
  93. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  94. def toString(): String

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

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

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

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

    Definition Classes
    Apply
  99. def tuple4[A, B, C, D](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D]): F0[(A, B, C, D)]

    Definition Classes
    Apply
  100. def tuple5[A, B, C, D, E](fa: ⇒ F0[A], fb: ⇒ F0[B], fc: ⇒ F0[C], fd: ⇒ F0[D], fe: ⇒ F0[E]): F0[(A, B, C, D, E)]

    Definition Classes
    Apply
  101. def unlessM[A](cond: Boolean)(f: ⇒ F0[A]): F0[Unit]

    Definition Classes
    Applicative
  102. def untilM[G[_], A](f: F0[A], cond: ⇒ F0[Boolean])(implicit G: MonadPlus[G]): F0[G[A]]

    Definition Classes
    Monad
  103. def untilM_[A](f: F0[A], cond: ⇒ F0[Boolean]): F0[Unit]

    Definition Classes
    Monad
  104. def void[A](fa: F0[A]): F0[Unit]

    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 whenM[A](cond: Boolean)(f: ⇒ F0[A]): F0[Unit]

    Definition Classes
    Applicative
  109. def whileM[G[_], A](p: F0[Boolean], body: ⇒ F0[A])(implicit G: MonadPlus[G]): F0[G[A]]

    Definition Classes
    Monad
  110. def whileM_[A](p: F0[Boolean], body: ⇒ F0[A]): F0[Unit]

    Definition Classes
    Monad
  111. def widen[A, B](fa: F0[A])(implicit ev: <~<[A, B]): F0[B]

    Definition Classes
    Functor
  112. def xmap[A, B](fa: F0[A], f: (A) ⇒ B, g: (B) ⇒ A): F0[B]

    Definition Classes
    Functor → InvariantFunctor
  113. def xmapb[A, B](ma: F0[A])(b: Bijection[A, B]): F0[B]

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

    Definition Classes
    InvariantFunctor

Inherited from Monad[F0]

Inherited from Bind[F0]

Inherited from Applicative[F0]

Inherited from Apply[F0]

Inherited from Functor[F0]

Inherited from InvariantFunctor[F0]

Inherited from AnyRef

Inherited from Any

Ungrouped