BindLaw

trait BindLaw extends ApplyLaw
trait ApplyLaw
class Object
trait Matchable
class Any

Value members

Concrete methods

def apLikeDerived[A, B](fa: F[A], f: F[A => B])(implicit FB: Equal[F[B]]): Boolean

ap is consistent with bind.

ap is consistent with bind.

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.

Inherited methods

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.

Inherited from
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.

Inherited from
ApplyLaw
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.

Inherited from
FunctorLaw
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
Inherited from
InvariantFunctorLaw
def invariantIdentity[A](fa: F[A])(implicit FA: Equal[F[A]]): Boolean
Inherited from
InvariantFunctorLaw