Package

monix.eval

instances

Permalink

package instances

Visibility
  1. Public
  2. All

Type Members

  1. class CatsAsyncForTask extends CatsBaseForTask with Async[Task]

    Permalink

    Cats type class instance of Task for cats.effect.Async and CoflatMap (and implicitly for Applicative, Monad, MonadError, etc).

    Cats type class instance of Task for cats.effect.Async and CoflatMap (and implicitly for Applicative, Monad, MonadError, etc).

    References:

  2. class CatsBaseForTask extends MonadError[Task, Throwable] with CoflatMap[Task] with SemigroupK[Task]

    Permalink

    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:

  3. class CatsConcurrentEffectForTask extends CatsEffectForTask with ConcurrentEffect[Task]

    Permalink

    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:

  4. class CatsConcurrentForTask extends CatsAsyncForTask with Concurrent[Task]

    Permalink

    Cats type class instance of Task for cats.effect.Concurrent.

    Cats type class instance of Task for cats.effect.Concurrent.

    References:

  5. class CatsEffectForTask extends CatsBaseForTask with Effect[Task]

    Permalink

    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:

  6. class CatsMonadToMonoid[F[_], A] extends CatsMonadToSemigroup[F, A] with Monoid[F[A]]

    Permalink

    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.

  7. class CatsMonadToSemigroup[F[_], A] extends Semigroup[F[A]]

    Permalink

    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.

  8. class CatsParallelForTask extends Parallel[Task]

    Permalink

    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:

  9. class CatsSyncForCoeval extends Sync[Coeval] with CoflatMap[Coeval] with SemigroupK[Coeval]

    Permalink

    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:

Value Members

  1. object CatsConcurrentForTask extends CatsConcurrentForTask

    Permalink

    Default and reusable instance for CatsConcurrentForTask.

    Default and reusable instance for CatsConcurrentForTask.

    Globally available in scope, as it is returned by Task.catsAsync.

  2. object CatsParallelForTask extends CatsParallelForTask

    Permalink
  3. object CatsSyncForCoeval extends CatsSyncForCoeval

    Permalink

    Default and reusable instance for CatsSyncForCoeval.

    Default and reusable instance for CatsSyncForCoeval.

    Globally available in scope, as it is returned by Coeval.catsSync.

Ungrouped