MonadLaws

trait MonadLaws extends ApplicativeLaws
Companion
object
class Object
trait Matchable
class Any
object MonadLaws

Value members

Concrete methods

def associativity[F[*], A, B, C](fa: F[A], f: A => F[B], g: B => F[C])(implicit F: Monad[F], FC: Eq[F[C]]): Boolean
def leftIdentity[F[*], A, B](a: A, f: A => F[B])(implicit F: Monad[F], FB: Eq[F[B]]): Boolean
def rightIdentity[F[*], A](fa: F[A])(implicit F: Monad[F], FA: Eq[F[A]]): Boolean

Inherited methods

def composition[F[*], A, B, C](fa: F[A], f: B => C, g: A => B)(implicit evidence$1: Functor[F], F: Functor[F], FC: Eq[F[C]]): Boolean
Inherited from
FunctorLaws
def compositionAp[F[*], A, B, C](fa: F[A], f: F[B => C], g: F[A => B])(implicit F: Applicative[F], FC: Eq[F[C]]): Boolean
Inherited from
ApplicativeLaws
def homomorphism[F[*], A, B](f: A => B, a: => A)(implicit evidence$3: Applicative[F], F: Functor[F], FB: Eq[F[B]]): Boolean
Inherited from
ApplicativeLaws
def identity[F[*], A](fa: F[A])(implicit F: Functor[F], FA: Eq[F[A]]): Boolean
Inherited from
FunctorLaws
def identityAp[F[*], A](fa: => F[A])(implicit evidence$2: Applicative[F], F: Functor[F], FA: Eq[F[A]]): Boolean
Inherited from
ApplicativeLaws
def interchange[F[*], A, B](a: => A, f: F[A => B])(implicit F: Applicative[F], FB: Eq[F[B]]): Boolean
Inherited from
ApplicativeLaws