Parallel

trait Parallel[M[_]] extends NonEmptyParallel[M]

Some types that form a Monad, are also capable of forming an Applicative that supports parallel composition. The Parallel type class allows us to represent this relationship.

Some types that form a Monad, are also capable of forming an Applicative that supports parallel composition. The Parallel type class allows us to represent this relationship.

Companion
object
trait Serializable
class Object
trait Matchable
class Any

Type members

Inherited types

type F[`_$2`]
Inherited from
NonEmptyParallel

Value members

Abstract methods

The applicative instance for F[_]

The applicative instance for F[_]

def monad: Monad[M]

The monad instance for M[_]

The monad instance for M[_]

Concrete methods

Provides an ApplicativeError[F, E] instance for any F, that has a Parallel.Aux[M, F] and a MonadError[M, E] instance. I.e. if you have a type M[_], that supports parallel composition through type F[_], then you can get ApplicativeError[F, E] from MonadError[M, E].

Provides an ApplicativeError[F, E] instance for any F, that has a Parallel.Aux[M, F] and a MonadError[M, E] instance. I.e. if you have a type M[_], that supports parallel composition through type F[_], then you can get ApplicativeError[F, E] from MonadError[M, E].

override def apply: Apply[F]
Definition Classes
override def flatMap: FlatMap[M]
Definition Classes

Inherited methods

def parProductL[A, B](ma: M[A])(mb: M[B]): M[A]

Like Apply.productL, but uses the apply instance corresponding to the Parallel instance instead.

Like Apply.productL, but uses the apply instance corresponding to the Parallel instance instead.

Inherited from
NonEmptyParallel
def parProductR[A, B](ma: M[A])(mb: M[B]): M[B]

Like Apply.productR, but uses the apply instance corresponding to the Parallel instance instead.

Like Apply.productR, but uses the apply instance corresponding to the Parallel instance instead.

Inherited from
NonEmptyParallel
def parallel: FunctionK[M, F]

Natural Transformation from the sequential FlatMap M[_] to the parallel Apply F[_].

Natural Transformation from the sequential FlatMap M[_] to the parallel Apply F[_].

Inherited from
NonEmptyParallel

Natural Transformation from the parallel Apply F[_] to the sequential FlatMap M[_].

Natural Transformation from the parallel Apply F[_] to the sequential FlatMap M[_].

Inherited from
NonEmptyParallel