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.Async
andCoflatMap
(and implicitly forApplicative
,Monad
,MonadError
, etc).References: