trait
Laws[F[_]] extends Monad.Laws[F] with Type[F]
Abstract Value Members
-
implicit abstract
def
applicative: Applicative[F]
-
implicit abstract
def
functor: Functor[F]
-
implicit abstract
def
monad: Monad[F]
-
implicit abstract
def
monadRec: MonadRec[F]
Concrete Value Members
-
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
-
final
def
==(arg0: Any): Boolean
-
def
applicativeComposition[A, B, C](fa: F[A], fab: F[(A) ⇒ B], fbc: F[(B) ⇒ C]): IsEquiv[F[C]]
-
def
applicativeHomomorphism[A, B](a: A, f: (A) ⇒ B): IsEquiv[F[B]]
-
def
applicativeIdentity[A](fa: F[A]): IsEquiv[F[A]]
-
def
applicativeInterchange[A, B](a: A, ff: F[(A) ⇒ B]): IsEquiv[F[B]]
-
def
applicativeMap[A, B](fa: F[A], f: (A) ⇒ B): IsEquiv[F[B]]
-
def
applyComposition[A, B, C](fa: F[A], fab: F[(A) ⇒ B], fbc: F[(B) ⇒ C]): IsEquiv[F[C]]
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
def
covariantComposition[A, B, C](fa: F[A], f: (A) ⇒ B, g: (B) ⇒ C): IsEquiv[F[C]]
-
def
covariantIdentity[A](fa: F[A]): IsEquiv[F[A]]
-
-
-
def
finalize(): Unit
-
def
flatMapAssociativity[A, B, C](fa: F[A], f: (A) ⇒ F[B], g: (B) ⇒ F[C]): IsEquiv[F[C]]
-
def
flatMapConsistentApply[A, B](fa: F[A], fab: F[(A) ⇒ B]): IsEquiv[F[B]]
-
def
flatMapConsistentMap2[A, B, C](fa: F[A], fb: F[B], f: (A, B) ⇒ C): IsEquiv[F[C]]
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
tailRecMConsistentFlatMap[A](count: Int, a: A, f: (A) ⇒ F[A]): IsEquiv[F[A]]
-
def
tailRecMStackSafety(n: Int): IsEquiv[F[Int]]
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Laws for MonadRec.