cps
package cps
Type members
Classlikes
abstract class AsyncCpsExpr[F[_], T](dm: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen])(`evidence$7`: Type[F], `evidence$8`: Type[T]) extends CpsExpr[F, T]
case class AsyncMacroFlags(printCode: Boolean, printTree: Boolean, debugLevel: Int, allowShiftedLambda: Boolean, customValueDiscard: Boolean, warnValueDiscard: Boolean, muted: Boolean)
trait CpsExpr[F[_], T](monad: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen])(`evidence$1`: Type[F], `evidence$2`: Type[T])
- Companion
- object
Basic CpsMonad operations. Implementing this typeclass is enough to use async/await with supports of basic control-flow constructions (if, loops, but no exceptions).
Basic CpsMonad operations. Implementing this typeclass is enough to use async/await with supports of basic control-flow constructions (if, loops, but no exceptions).
- Companion
- object
You should implement this interface and made given instance available for using await[F] in async[G]
You should implement this interface and made given instance available for using await[F] in async[G]
If you monad supports this typeclass, than you can use try/catch/finally inside await.
If you monad supports this typeclass, than you can use try/catch/finally inside await.
case class FlatMappedCpsExpr[F[_], S, T](monad: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen], point: CpsExpr[F, S], mapping: Expr[S => F[T]])(`evidence$14`: Type[F], `evidence$15`: Type[S], `evidence$16`: Type[T]) extends AsyncCpsExpr[F, T]
case class GenericAsyncCpsExpr[F[_], T](dm: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen], fLastExpr: Expr[F[T]])(`evidence$9`: Type[F], `evidence$10`: Type[T]) extends AsyncCpsExpr[F, T]
case class GenericSyncCpsExpr[F[_], T](dm: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen], lastExpr: Expr[T], changed: Boolean)(`evidence$5`: Type[F], `evidence$6`: Type[T]) extends SyncCpsExpr[F, T]
case class MappedCpsExpr[F[_], S, T](monad: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen], point: CpsExpr[F, S], mapping: Expr[S => T])(`evidence$11`: Type[F], `evidence$12`: Type[S], `evidence$13`: Type[T]) extends AsyncCpsExpr[F, T]
class StatementExprTreeGen(using `x$1`: Quotes)(stat: Statement, changed: Boolean) extends ExprTreeGen
abstract class SyncCpsExpr[F[_], T](dm: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen])(`evidence$3`: Type[F], `evidence$4`: Type[T]) extends CpsExpr[F, T]
case class TransformationContext[F[_], T](patternCode: Expr[T], patternType: Type[T], monad: Expr[CpsMonad[F]], flags: AsyncMacroFlags, marker: TransformationContextMarker, nesting: Int, parent: Option[TransformationContext[_[_], _]])
case class UnitCpsExpr[F[_]](monad: Expr[CpsMonad[F]], prev: Seq[ExprTreeGen], changed: Boolean)(`evidence$17`: Type[F], `x$4`: Quotes) extends SyncCpsExpr[F, Unit]