trait MonadLaw extends ApplicativeLaw with BindLaw
- Alphabetic
- By Inheritance
- MonadLaw
- BindLaw
- ApplicativeLaw
- ApplyLaw
- FunctorLaw
- InvariantFunctorLaw
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apLikeDerived[A, B](fa: F[A], f: F[(A) ⇒ B])(implicit FB: Equal[F[B]]): Boolean
ap
is consistent withbind
.ap
is consistent withbind
.- Definition Classes
- BindLaw
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def associativeBind[A, B, C](fa: F[A], f: (A) ⇒ F[B], g: (B) ⇒ F[C])(implicit FC: Equal[F[C]]): Boolean
As with semigroups, monadic effects only change when their order is changed, not when the order in which they're combined changes.
As with semigroups, monadic effects only change when their order is changed, not when the order in which they're combined changes.
- Definition Classes
- BindLaw
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.CloneNotSupportedException])
- def composite[A, B, C](fa: F[A], f1: (A) ⇒ B, f2: (B) ⇒ C)(implicit FC: Equal[F[C]]): Boolean
A series of maps may be freely rewritten as a single map on a composed function.
A series of maps may be freely rewritten as a single map on a composed function.
- Definition Classes
- FunctorLaw
- def composition[A, B, C](fbc: F[(B) ⇒ C], fab: F[(A) ⇒ B], fa: F[A])(implicit FC: Equal[F[C]]): Boolean
Lifted functions can be fused.
Lifted functions can be fused.
- Definition Classes
- ApplyLaw
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def homomorphism[A, B](ab: (A) ⇒ B, a: A)(implicit FB: Equal[F[B]]): Boolean
point
distributes over function applications.point
distributes over function applications.- Definition Classes
- ApplicativeLaw
- def identity[A](fa: F[A])(implicit FA: Equal[F[A]]): Boolean
The identity function, lifted, is a no-op.
The identity function, lifted, is a no-op.
- Definition Classes
- FunctorLaw
- def identityAp[A](fa: F[A])(implicit FA: Equal[F[A]]): Boolean
point(identity)
is a no-op.point(identity)
is a no-op.- Definition Classes
- ApplicativeLaw
- def interchange[A, B](f: F[(A) ⇒ B], a: A)(implicit FB: Equal[F[B]]): Boolean
point
is a left and right identity, F-wise.point
is a left and right identity, F-wise.- Definition Classes
- ApplicativeLaw
- def invariantComposite[A, B, C](fa: F[A], f1: (A) ⇒ B, g1: (B) ⇒ A, f2: (B) ⇒ C, g2: (C) ⇒ B)(implicit FC: Equal[F[C]]): Boolean
- Definition Classes
- InvariantFunctorLaw
- def invariantIdentity[A](fa: F[A])(implicit FA: Equal[F[A]]): Boolean
- Definition Classes
- InvariantFunctorLaw
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def leftIdentity[A, B](a: A, f: (A) ⇒ F[B])(implicit FB: Equal[F[B]]): Boolean
Lifted
f
applied to purea
is justf(a)
. - def mapLikeDerived[A, B](f: (A) ⇒ B, fa: F[A])(implicit FB: Equal[F[B]]): Boolean
map
is like the one derived frompoint
andap
.map
is like the one derived frompoint
andap
.- Definition Classes
- ApplicativeLaw
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def rightIdentity[A](a: F[A])(implicit FA: Equal[F[A]]): Boolean
Lifted
point
is a no-op. - final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.InterruptedException])