Cats type class instance of Task
for cats.effect.Async and CoflatMap (and implicitly for
Applicative, Monad, MonadError, etc).
Cats type class instances for Task
for cats.MonadError and CoflatMap (and implicitly for
Applicative, Monad, etc).
Cats type class instances for Task
for cats.MonadError and CoflatMap (and implicitly for
Applicative, Monad, etc).
References:
Cats type class instances of Task for
cats.effect.ConcurrentEffect.
Cats type class instances of Task for
cats.effect.ConcurrentEffect.
Note this is a separate class from CatsConcurrentForTask, because
we need an implicit Scheduler in scope
in order to trigger the execution of a Task. However we cannot
inherit directly from CatsConcurrentForTask, because it would create
conflicts due to that one having a higher priority but being a
super-type.
References:
Cats type class instance of Task
for cats.effect.Concurrent.
Cats type class instance of Task
for cats.effect.Concurrent.
References:
Cats type class instances of Task for
cats.effect.Effect (and implicitly for Applicative, Monad,
MonadError, Sync, etc).
Cats type class instances of Task for
cats.effect.Effect (and implicitly for Applicative, Monad,
MonadError, Sync, etc).
Note this is a separate class from CatsAsyncForTask, because we
need an implicit Scheduler in scope
in order to trigger the execution of a Task. However we cannot
inherit directly from CatsAsyncForTask, because it would create
conflicts due to that one having a higher priority but being a
super-type.
References:
Given that A has a cats.Semigroup implementation, this
builds a Semigroup[F[A]] instance for any F[_] data type
that implements cats.Monad.
Given that A has a cats.Semigroup implementation, this
builds a Semigroup[F[A]] instance for any F[_] data type
that implements cats.Monad.
Used for both Task and monix.eval.Coeval.
NOTE: nothing in this implementation is specific to Monix or to
cats-effect, but these instances are not provided by default
by Cats for any monad, probably because they aren't useful
for every monad.
Given that A has a cats.Monoid implementation, this builds
a Semigroup[F[A]] instance for any F[_] data type that
implements cats.effect.Sync.
Given that A has a cats.Monoid implementation, this builds
a Semigroup[F[A]] instance for any F[_] data type that
implements cats.effect.Sync.
Used for both Task and monix.eval.Coeval.
NOTE: nothing in this implementation is specific to Monix or to
cats-effect, but these instances are not provided by default
by Cats for any monad, probably because they aren't useful
for every monad.
cats.Parallel type class instance for Task.
cats.Parallel type class instance for Task.
A cats.Parallel instances means that Task can be used for
processing tasks in parallel (with non-deterministic effects
ordering).
References:
Cats type class instances for Coeval.
Cats type class instances for Coeval.
As can be seen the implemented type classes are for now
cats.effect.Sync and CoflatMap. Notably missing is
the Comonad type class, which Coeval should never
implement.
References:
Default and reusable instance for CatsConcurrentForTask.
Default and reusable instance for CatsConcurrentForTask.
Globally available in scope, as it is returned by Task.catsAsync.
Default and reusable instance for CatsSyncForCoeval.
Default and reusable instance for CatsSyncForCoeval.
Globally available in scope, as it is returned by Coeval.catsSync.
Cats type class instance of Task for
cats.effect.AsyncandCoflatMap(and implicitly forApplicative,Monad,MonadError, etc).References: