MonadCancelLaws
- Companion
- object
Value members
Methods
Inherited methods
def raiseErrorDistributesOverApRight[A](h: E => F[A], e: E): IsEq[F[A]]
- Inhertied from
- ApplicativeErrorLaws
def invariantComposition[A, B, C](fa: F[A], f1: A => B, f2: B => A, g1: B => C, g2: C => B): IsEq[F[C]]
- Inhertied from
- InvariantLaws
def redeemDerivedFromAttemptMap[A, B](fa: F[A], fe: E => B, fs: A => B): IsEq[F[B]]
- Inhertied from
- ApplicativeErrorLaws
def recoverConsistentWithRecoverWith[A](fa: F[A], pf: PartialFunction[E, A]): IsEq[F[A]]
- Inhertied from
- ApplicativeErrorLaws
def mapFlatMapCoherence[A, B](fa: F[A], f: A => B): IsEq[F[B]]
Make sure that map and flatMap are consistent.
- Inhertied from
- MonadLaws
def monadErrorEnsureOrConsistency[A](fa: F[A], e: A => E, p: A => Boolean): IsEq[F[A]]
- Inhertied from
- MonadErrorLaws
override def adaptErrorRaise[A](e: E, f: E => E): IsEq[F[A]]
- Definition Classes
- MonadErrorLaws -> ApplicativeErrorLaws
- Inhertied from
- MonadErrorLaws
def handleErrorConsistentWithRecover[A](fa: F[A], f: E => A): IsEq[F[A]]
- Inhertied from
- ApplicativeErrorLaws
def applicativeComposition[A, B, C](fa: F[A], fab: F[A => B], fbc: F[B => C]): IsEq[F[C]]
This law is applyComposition stated in terms of
combination of applyComposition and applicativeMap and hence not
strictly necessary.
pure
. It is acombination of applyComposition and applicativeMap and hence not
strictly necessary.
- Inhertied from
- ApplicativeLaws
def kleisliAssociativity[A, B, C, D](f: A => F[B], g: B => F[C], h: C => F[D], a: A): IsEq[F[D]]
The composition of
analogous to flatMapAssociativity.
cats.data.Kleisli
arrows is associative. This isanalogous to flatMapAssociativity.
- Inhertied from
- FlatMapLaws
def handleErrorWithConsistentWithRecoverWith[A](fa: F[A], f: E => F[A]): IsEq[F[A]]
- Inhertied from
- ApplicativeErrorLaws
def flatMapFromTailRecMConsistency[A, B](fa: F[A], fn: A => F[B]): IsEq[F[B]]
It is possible to implement flatMap from tailRecM and map
and it should agree with the flatMap implementation.
and it should agree with the flatMap implementation.
- Inhertied from
- FlatMapLaws
def attemptConsistentWithAttemptT[A](fa: F[A]): IsEq[EitherT[F, E, A]]
- Inhertied from
- ApplicativeErrorLaws
def monadErrorEnsureConsistency[A](fa: F[A], e: E, p: A => Boolean): IsEq[F[A]]
- Inhertied from
- MonadErrorLaws
def map2ProductConsistency[A, B, C](fa: F[A], fb: F[B], f: (A, B) => C): IsEq[F[C]]
- Inhertied from
- ApplyLaws
def semigroupalAssociativity[A, B, C](fa: F[A], fb: F[B], fc: F[C]): (F[(A, (B, C))], F[((A, B), C)])
- Inhertied from
- SemigroupalLaws
def map2EvalConsistency[A, B, C](fa: F[A], fb: F[B], f: (A, B) => C): IsEq[F[C]]
- Inhertied from
- ApplyLaws
def redeemWithDerivedFromAttemptFlatMap[A, B](fa: F[A], fe: E => F[B], fs: A => F[B]): IsEq[F[B]]
- Inhertied from
- MonadErrorLaws
def kleisliRightIdentity[A, B](a: A, f: A => F[B]): IsEq[F[B]]
pure
is the right identity element under left-to-right composition ofcats.data.Kleisli
arrows. This is analogous to monadRightIdentity.- Inhertied from
- MonadLaws
override def adaptErrorPure[A](a: A, f: E => E): IsEq[F[A]]
- Definition Classes
- MonadErrorLaws -> ApplicativeErrorLaws
- Inhertied from
- MonadErrorLaws
def attemptFromEitherConsistentWithPure[A](eab: Either[E, A]): IsEq[F[Either[E, A]]]
- Inhertied from
- ApplicativeErrorLaws
def covariantComposition[A, B, C](fa: F[A], f: A => B, g: B => C): IsEq[F[C]]
- Inhertied from
- FunctorLaws
def kleisliLeftIdentity[A, B](a: A, f: A => F[B]): IsEq[F[B]]
pure
is the left identity element under left-to-right composition ofcats.data.Kleisli
arrows. This is analogous to monadLeftIdentity.- Inhertied from
- MonadLaws
def raiseErrorDistributesOverApLeft[A](h: E => F[A], e: E): IsEq[F[A]]
- Inhertied from
- ApplicativeErrorLaws
def applyComposition[A, B, C](fa: F[A], fab: F[A => B], fbc: F[B => C]): IsEq[F[C]]
- Inhertied from
- ApplyLaws