MonadCancelLaws

cats.effect.laws.MonadCancelLaws
See theMonadCancelLaws companion object
trait MonadCancelLaws[F[_], E] extends MonadErrorLaws[F, E]

Attributes

Companion:
object
Source:
MonadCancelLaws.scala
Graph
Supertypes
trait MonadErrorLaws[F, E]
trait MonadLaws[F]
trait FlatMapLaws[F]
trait ApplyLaws[F]
trait FunctorLaws[F]
trait InvariantLaws[F]
class Object
trait Matchable
class Any
Known subtypes
trait GenSpawnLaws[F, E]
trait GenTemporalLaws[F, E]
trait AsyncLaws[F]
trait SyncLaws[F]

Members list

Concise view

Value members

Concrete methods

def canceledSequencesOnCancelInOrder(fin1: F[Unit], fin2: F[Unit]): IsEq[F[Unit]]

Attributes

Source:
MonadCancelLaws.scala
def forceRAssociativity[A, B, C](fa: F[A], fb: F[B], fc: F[C]): IsEq[F[C]]

Attributes

Source:
MonadCancelLaws.scala
def forceRCanceledShortCircuits[A](fa: F[A]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def forceRDiscardsError[A](e: E, fa: F[A]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def forceRDiscardsPure[A, B](a: A, fa: F[B]): IsEq[F[B]]

Attributes

Source:
MonadCancelLaws.scala
def guaranteeIsGuaranteeCase[A](fa: F[A], fin: F[Unit]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def onCancelAssociatesOverUncancelableBoundary[A](fa: F[A], fin: F[Unit]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def onCancelImpliesUncancelable[A](fa: F[A], fin1: F[Unit], fin2: F[Unit]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def uncancelableEliminatesOnCancel[A](fa: F[A], fin: F[Unit]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def uncancelableFinalizers[A](fin: F[Unit]): IsEq[F[Unit]]

Attributes

Source:
MonadCancelLaws.scala
def uncancelableIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala
def uncancelablePollIsIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Source:
MonadCancelLaws.scala

Inherited methods

override def adaptErrorPure[A](a: A, f: E => E): IsEq[F[A]]

Attributes

Definition Classes
Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
override def adaptErrorRaise[A](e: E, f: E => E): IsEq[F[A]]

Attributes

Definition Classes
Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def apProductConsistent[A, B](fa: F[A], f: F[A => B]): IsEq[F[B]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
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 pure. It is a combination of applyComposition and applicativeMap and hence not strictly necessary.

This law is applyComposition stated in terms of pure. It is a combination of applyComposition and applicativeMap and hence not strictly necessary.

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applicativeErrorHandle[A](e: E, f: E => A): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def applicativeErrorHandleWith[A](e: E, f: E => F[A]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def applicativeHomomorphism[A, B](a: A, f: A => B): IsEq[F[B]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applicativeIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applicativeInterchange[A, B](a: A, ff: F[A => B]): IsEq[F[B]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applicativeMap[A, B](fa: F[A], f: A => B): IsEq[F[B]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applicativeUnit[A](a: A): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def applyComposition[A, B, C](fa: F[A], fab: F[A => B], fbc: F[B => C]): IsEq[F[C]]

Attributes

Inherited from:
ApplyLaws
Source:
ApplyLaws.scala
def covariantComposition[A, B, C](fa: F[A], f: A => B, g: B => C): IsEq[F[C]]

Attributes

Inherited from:
FunctorLaws
Source:
FunctorLaws.scala
def covariantIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Inherited from:
FunctorLaws
Source:
FunctorLaws.scala
def flatMapAssociativity[A, B, C](fa: F[A], f: A => F[B], g: B => F[C]): IsEq[F[C]]

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala
def flatMapConsistentApply[A, B](fa: F[A], fab: F[A => B]): IsEq[F[B]]

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala
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.

It is possible to implement flatMap from tailRecM and map and it should agree with the flatMap implementation.

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala
def handleErrorConsistentWithRecover[A](fa: F[A], f: E => A): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def handleErrorPure[A](a: A, f: E => A): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def handleErrorWithConsistentWithRecoverWith[A](fa: F[A], f: E => F[A]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def handleErrorWithPure[A](a: A, f: E => F[A]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def invariantComposition[A, B, C](fa: F[A], f1: A => B, f2: B => A, g1: B => C, g2: C => B): IsEq[F[C]]

Attributes

Inherited from:
InvariantLaws
Source:
InvariantLaws.scala
def invariantIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Inherited from:
InvariantLaws
Source:
InvariantLaws.scala
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 cats.data.Kleisli arrows is associative. This is analogous to flatMapAssociativity.

The composition of cats.data.Kleisli arrows is associative. This is analogous to flatMapAssociativity.

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala
def kleisliLeftIdentity[A, B](a: A, f: A => F[B]): IsEq[F[B]]

pure is the left identity element under left-to-right composition of cats.data.Kleisli arrows. This is analogous to monadLeftIdentity.

pure is the left identity element under left-to-right composition of cats.data.Kleisli arrows. This is analogous to monadLeftIdentity.

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala
def kleisliRightIdentity[A, B](a: A, f: A => F[B]): IsEq[F[B]]

pure is the right identity element under left-to-right composition of cats.data.Kleisli arrows. This is analogous to monadRightIdentity.

pure is the right identity element under left-to-right composition of cats.data.Kleisli arrows. This is analogous to monadRightIdentity.

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala
def map2EvalConsistency[A, B, C](fa: F[A], fb: F[B], f: (A, B) => C): IsEq[F[C]]

Attributes

Inherited from:
ApplyLaws
Source:
ApplyLaws.scala
def map2ProductConsistency[A, B, C](fa: F[A], fb: F[B], f: (A, B) => C): IsEq[F[C]]

Attributes

Inherited from:
ApplyLaws
Source:
ApplyLaws.scala
def mapFlatMapCoherence[A, B](fa: F[A], f: A => B): IsEq[F[B]]

Make sure that map and flatMap are consistent.

Make sure that map and flatMap are consistent.

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala
def monadErrorEnsureConsistency[A](fa: F[A], e: E, p: A => Boolean): IsEq[F[A]]

Attributes

Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def monadErrorEnsureOrConsistency[A](fa: F[A], e: A => E, p: A => Boolean): IsEq[F[A]]

Attributes

Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def monadErrorLeftZero[A, B](e: E, f: A => F[B]): IsEq[F[B]]

Attributes

Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def monadLeftIdentity[A, B](a: A, f: A => F[B]): IsEq[F[B]]

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala
def monadRightIdentity[A](fa: F[A]): IsEq[F[A]]

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala
def monoidalLeftIdentity[A](fa: F[A]): (F[(Unit, A)], F[A])

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def monoidalRightIdentity[A](fa: F[A]): (F[(A, Unit)], F[A])

Attributes

Inherited from:
ApplicativeLaws
Source:
ApplicativeLaws.scala
def mproductConsistency[A, B](fa: F[A], fb: A => F[B]): IsEq[F[(A, B)]]

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala
def onErrorPure[A](a: A, f: E => F[Unit]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def onErrorRaise[A](fa: F[A], e: E, fb: F[Unit]): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def productLConsistency[A, B](fa: F[A], fb: F[B]): IsEq[F[A]]

Attributes

Inherited from:
ApplyLaws
Source:
ApplyLaws.scala
def productRConsistency[A, B](fa: F[A], fb: F[B]): IsEq[F[B]]

Attributes

Inherited from:
ApplyLaws
Source:
ApplyLaws.scala
def pureAttempt[A](a: A): IsEq[F[Either[E, A]]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def raiseErrorDistributesOverApLeft[A](h: E => F[A], e: E): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def raiseErrorDistributesOverApRight[A](h: E => F[A], e: E): IsEq[F[A]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def redeemDerivedFromAttemptMap[A, B](fa: F[A], fe: E => B, fs: A => B): IsEq[F[B]]

Attributes

Inherited from:
ApplicativeErrorLaws
Source:
ApplicativeErrorLaws.scala
def redeemWithDerivedFromAttemptFlatMap[A, B](fa: F[A], fe: E => F[B], fs: A => F[B]): IsEq[F[B]]

Attributes

Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def rethrowAttempt[A](fa: F[A]): IsEq[F[A]]

Attributes

Inherited from:
MonadErrorLaws
Source:
MonadErrorLaws.scala
def semigroupalAssociativity[A, B, C](fa: F[A], fb: F[B], fc: F[C]): (F[(A, (B, C))], F[((A, B), C)])

Attributes

Inherited from:
SemigroupalLaws
Source:
SemigroupalLaws.scala
def tailRecMConsistentFlatMap[A](a: A, f: A => F[A]): IsEq[F[A]]

Attributes

Inherited from:
FlatMapLaws
Source:
FlatMapLaws.scala

Inherited fields

Attributes

Inherited from:
MonadLaws
Source:
MonadLaws.scala

Implicits

Implicits

implicit val F: MonadCancel[F, E]

Attributes

Source:
MonadCancelLaws.scala