trait
MonadFilter[F[_]] extends Monad[F]
Abstract Value Members
-
abstract
def
ap[A, B](fa: F[A])(ff: F[(A) ⇒ B]): F[B]
-
abstract
def
empty[A]: F[A]
-
abstract
def
filter[A](fa: F[A])(f: (A) ⇒ Boolean): F[A]
-
abstract
def
filterM[A](fa: F[A])(f: (A) ⇒ F[Boolean]): F[A]
-
abstract
def
flatMap[A, B](fa: F[A])(f: (A) ⇒ F[B]): F[B]
-
abstract
def
flatten[A](ffa: F[F[A]]): F[A]
-
abstract
def
map[A, B](fa: F[A])(f: (A) ⇒ B): F[B]
-
abstract
def
map2[A, B, Z](fa: F[A], fb: F[B])(f: (A, B) ⇒ Z): F[Z]
-
abstract
def
pure[A](a: A): F[A]
-
abstract
def
pureEval[A](a: ⇒ A): F[A]
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
A shim for a
MonadFilter
type-class, to be supplied by / translated to libraries such as Cats or Scalaz.A Monad equipped with an additional method which allows us to create an "Empty" value for the Monad (for whatever "empty" makes sense for that particular monad). This is of particular interest to us since it allows us to add a
filter
method to a Monad, which is used when pattern matching or using guards in for comprehensions.