avocado

package avocado

Members list

Packages

Type members

Classlikes

trait AvocADO[F[_]]

Attributes

Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

inline def parallelize[F[_], A](inline comp: F[A])(using ap: AvocADO[F]): F[A]

Transforms the provided for-comprehension to it's parallel version. Example usage:

Transforms the provided for-comprehension to it's parallel version. Example usage:

parallelize {
 for {
   a <- doStuff1
   b <- doStuff2(a)
   c <- doStuff3
   d <- doStuff4(a)
 } yield combine(a, b, c, d)
}

The above code will be transformed to code essentially equivalent to:

for {
 a <- doStuff1
 (b, c, d) <- doStuff2(a).zip(doStuff3).zip(doStuff4(a))
} yield combine(a, b, c, d)

The transformed code will use the provided implicit avocado.AvocADO instance for method calls such as map, flatMap and zip. Potential for parallelism is introduced in places where zip calls are used. So in order to utilize this method in a sensible way, avocado.AvocADO.zip should initialize parallel calls. Though this method should also be safe for sequential operations.

Attributes

Deprecated methods

inline def ado[F[_], A](inline comp: F[A])(using ap: AvocADO[F]): F[A]

Transforms the provided for-comprehension to it's parallel version. Example usage:

Transforms the provided for-comprehension to it's parallel version. Example usage:

ado {
 for {
   a <- doStuff1
   b <- doStuff2(a)
   c <- doStuff3
   d <- doStuff4(a)
 } yield combine(a, b, c, d)
}

The above code will be transformed to code essentially equivalent to:

for {
 a <- doStuff1
 (b, c, d) <- doStuff2(a).zip(doStuff3).zip(doStuff4(a))
} yield combine(a, b, c, d)

The transformed code will use the provided implicit avocado.AvocADO instance for method calls such as map, flatMap and zip. Potential for parallelism is introduced in places where zip calls are used. So in order to utilize this method in a sensible way, avocado.AvocADO.zip should initialize parallel calls. Though this method should also be safe for sequential operations.

Attributes

Deprecated
true