cps.runtime

package cps.runtime

Type members

Classlikes

class ArrayOpsAsyncShift[A] extends AsyncShift[ArrayOps[A]]
trait CallChainAsyncShiftSubst[F[_], T, FT]

wrapper which can be used for translations of call-chains with given substitution methods. The conventions, that shifted method can return such wrapper from shifted function instead F[T] and then cps engine substitute calls of chanined functions if they are implemented.

wrapper which can be used for translations of call-chains with given substitution methods. The conventions, that shifted method can return such wrapper from shifted function instead F[T] and then cps engine substitute calls of chanined functions if they are implemented.

class CpsMonadSelfAsyncShift[F[_], M <: CpsMonad[F]] extends AsyncShift[M]
class DelayedWithFilter[F[_], A, C <: ([X] =>> Iterable[X] & IterableOps[X, C, C[X]]), CA <: C[A]](c: CA, m: CpsMonad[F], p: A => F[Boolean]) extends CallChainAsyncShiftSubst[F, WithFilter[A, C], F[WithFilter[A, C]]]
class Function1AndThenCallChainSubst[F[_], A, B, C](f: A => B, g: B => F[C], m: CpsMonad[F]) extends CallChainAsyncShiftSubst[F, A => C, A => F[C]]
class Function1AsyncShift[T, R] extends AsyncShift[T => R]
class Function1ComposeAndThenCallChainSubst[F[_], A, B, C](f: A => F[B], g: B => F[C], m: CpsMonad[F]) extends CallChainAsyncShiftSubst[F, A => C, A => F[C]]
class Function1ComposeCallChainSubst[F[_], A, B, Z](f: A => B, g: Z => F[A], m: CpsMonad[F]) extends CallChainAsyncShiftSubst[F, Z => B, Z => F[B]]
class IndexedSeqAsyncShift[A, C <: ([X] =>> IndexedSeq[X] & IndexedSeqOps[X, C, C[X]]), CA <: C[A]] extends SeqAsyncShift[A, C, CA]
class IterableAsyncShift[A, CA <: Iterable[A]]() extends AsyncShift[CA]
class IterableOpsAsyncShift[A, C <: ([X] =>> Iterable[X] & IterableOps[X, C, C[X]]), CA <: C[A]]() extends IterableAsyncShift[A, CA]
class ListAsyncShift[A] extends IterableOpsAsyncShift[A, List, List[A]] with AsyncShift[List[A]]
class MapOpsAsyncShift[K, V, CC <: ([KX, VX] =>> MapOps[KX, VX, CC, CC[KX, VX]] & CI[(KX, VX)]), CI <: ([X] =>> Iterable[X] & IterableOps[X, CI, CI[X]]), CKV <: CC[K, V] & PartialFunction[K, V]]() extends IterableOpsAsyncShift[(K, V), CI, CKV] with PartialFunctionAsyncShiftBase[K, V, CKV] with AsyncShift[CKV]
class OptionAsyncShift[T] extends AsyncShift[Option[T]]
class PartialFunctionAsyncShift[T, R] extends PartialFunctionAsyncShiftBase[T, R, PartialFunction[T, R]]
trait PartialFunctionAsyncShiftBase[T, R, C <: PartialFunction[T, R]] extends AsyncShift[C]
trait PartialFunctionCallChainSubst[F[_], A, B](m: CpsMonad[F]) extends CallChainAsyncShiftSubst[F, PartialFunction[A, B], A => F[B]]
Companion
object
class RangeAsyncShift[R <: Range]() extends SeqAsyncShift[Int, [A] =>> IndexedSeq[A], R]
class SeqAsyncShift[A, C <: ([X] =>> Seq[X] & SeqOps[X, C, C[X]]), CA <: C[A]] extends IterableOpsAsyncShift[A, C, CA] with PartialFunctionAsyncShiftBase[Int, A, CA]