Packages

trait Laws[F[_]] extends Applicative.Laws[F] with Type[F]

Laws for Monad.

Source
Monad.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Laws
  2. Type
  3. Laws
  4. Type
  5. Laws
  6. Type
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def applicative: Applicative[F]
    Definition Classes
    Type
  2. implicit abstract def functor: Functor[F]
    Definition Classes
    Type
  3. implicit abstract def monad: Monad[F]
    Definition Classes
    Type

Concrete Value Members

  1. def applicativeComposition[A, B, C](fa: F[A], fab: F[(A) ⇒ B], fbc: F[(B) ⇒ C]): IsEquiv[F[C]]
    Definition Classes
    Laws
  2. def applicativeHomomorphism[A, B](a: A, f: (A) ⇒ B): IsEquiv[F[B]]
    Definition Classes
    Laws
  3. def applicativeIdentity[A](fa: F[A]): IsEquiv[F[A]]
    Definition Classes
    Laws
  4. def applicativeInterchange[A, B](a: A, ff: F[(A) ⇒ B]): IsEquiv[F[B]]
    Definition Classes
    Laws
  5. def applicativeMap[A, B](fa: F[A], f: (A) ⇒ B): IsEquiv[F[B]]
    Definition Classes
    Laws
  6. def applyComposition[A, B, C](fa: F[A], fab: F[(A) ⇒ B], fbc: F[(B) ⇒ C]): IsEquiv[F[C]]
    Definition Classes
    Laws
  7. def covariantComposition[A, B, C](fa: F[A], f: (A) ⇒ B, g: (B) ⇒ C): IsEquiv[F[C]]
    Definition Classes
    Laws
  8. def covariantIdentity[A](fa: F[A]): IsEquiv[F[A]]
    Definition Classes
    Laws
  9. def flatMapAssociativity[A, B, C](fa: F[A], f: (A) ⇒ F[B], g: (B) ⇒ F[C]): IsEquiv[F[C]]
  10. def flatMapConsistentApply[A, B](fa: F[A], fab: F[(A) ⇒ B]): IsEquiv[F[B]]
  11. def flatMapConsistentMap2[A, B, C](fa: F[A], fb: F[B], f: (A, B) ⇒ C): IsEquiv[F[C]]