Async

cps.macros.Async
object Async

Attributes

Source
Async.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Async.type

Members list

Type members

Classlikes

class InferAsyncArg[F[_], C <: CpsMonadContext[F]](using val am: Aux[F, C])

Attributes

Source
Async.scala
Supertypes
class Object
trait Matchable
class Any
class InferAsyncArg1[F[_], C <: CpsTryMonadContext[F]](using val am: Aux[F, C])

Attributes

Source
Async.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def adoptFlags[F[_] : Type, T](f: Expr[T], dm: Expr[CpsMonad[F]])(implicit evidence$1: Type[F], Quotes): AsyncMacroFlags

Attributes

Source
Async.scala
transparent inline def async[F[_]](using am: CpsMonad[F]): InferAsyncArg[F, am.Context]

Attributes

Source
Async.scala
def inferAsyncArgApplyImpl[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type](am: Expr[Aux[F, C]], expr: Expr[C ?=> T])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[F[T]]

Attributes

Source
Async.scala
def loomTransform[F[_] : Type, T : Type, C <: CpsTryMonadContext[F] : Type](f: Expr[T], dm: Expr[CpsAsyncMonad[F]], ctx: Expr[C], runtimeApi: Expr[CpsRuntimeAwait[F]], flags: AsyncMacroFlags)(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[T]

Attributes

Source
Async.scala
def nestTransform[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type, S : Type](f: Expr[S], cpsCtx: TransformationContext[F, T, C])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], evidence$4: Type[S], Quotes): CpsExpr[F, S]

Attributes

Source
Async.scala
def rootTransform[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type](f: Expr[T], dm: Expr[CpsMonad[F]], mc: Expr[C], optRuntimeAwait: Option[Expr[CpsRuntimeAwait[F]]], optRuntimeAwaitProvider: Option[Expr[CpsRuntimeAwaitProvider[F]]], flags: AsyncMacroFlags, nesting: Int, parent: Option[TransformationContext[_[_], _, _]])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): CpsExpr[F, T]

Attributes

Source
Async.scala
transparent inline def transform[F[_], T, C <: CpsMonadContext[F]](inline expr: T, inline ctx: C)(using m: CpsMonad[F]): F[T]

Attributes

Source
Async.scala
def transformContextInstanceMonad[F[_] : Type, T : Type, C <: CpsTryMonadInstanceContext[F] : Type](f: Expr[T], dm: Expr[C])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[F[T]]

Attributes

Source
Async.scala
transparent inline def transformContextLambda[F[_], T, C <: CpsMonadContext[F]](inline expr: C ?=> T): C => F[T]

Attributes

Source
Async.scala
def transformContextLambdaImpl[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type](cexpr: Expr[C ?=> T])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[C => F[T]]

Attributes

Source
Async.scala
def transformImpl[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type](f: Expr[T], c: Expr[C])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[F[T]]

transform expression and get monad from context.

transform expression and get monad from context.

Value parameters

c
  • monad context parameter
f
  • expression to transform

Attributes

Source
Async.scala
def transformMonad[F[_] : Type, T : Type, C <: CpsMonadContext[F] : Type](f: Expr[T], dm: Expr[CpsMonad[F]], mc: Expr[C])(implicit evidence$1: Type[F], evidence$2: Type[T], evidence$3: Type[C], Quotes): Expr[F[T]]

transform expression within given monad. Use this function is you need to force async-transform from other macros.

transform expression within given monad. Use this function is you need to force async-transform from other macros.

Attributes

Source
Async.scala