handle

kyo.kernel.Effect.handle
object handle

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
handle.type

Members list

Value members

Concrete methods

inline def apply[I[_], O[_], E <: Effect[I, O], A, B, S, S2, S3](inline tag: Tag[E], v: A < (E & S))(inline handle: [C] => (x$1: I[C], x$2: Safepoint ?=> O[C] => A < (E & S & S2)) => A < (E & S & S2), inline done: A => B < S3, inline accept: [C] => I[C] => Boolean)(using inline _frame: Frame, inline flat: Flat[A], safepoint: Safepoint): B < (S & S2 & S3)
inline def apply[I1[_], O1[_], E1 <: Effect[I1, O1], I2[_], O2[_], E2 <: Effect[I2, O2], A, S, S2](inline tag1: Tag[E1], inline tag2: Tag[E2], v: A < (E1 & E2 & S))(inline handle1: [C] => (x$1: I1[C], x$2: Safepoint ?=> O1[C] => A < (E1 & E2 & S & S2)) => A < (E1 & E2 & S & S2), inline handle2: [C] => (x$1: I2[C], x$2: Safepoint ?=> O2[C] => A < (E1 & E2 & S & S2)) => A < (E1 & E2 & S & S2))(using inline _frame: Frame, inline flat: Flat[A], safepoint: Safepoint): A < (S & S2)
inline def apply[I1[_], O1[_], E1 <: Effect[I1, O1], I2[_], O2[_], E2 <: Effect[I2, O2], I3[_], O3[_], E3 <: Effect[I3, O3], A, S, S2](inline tag1: Tag[E1], inline tag2: Tag[E2], inline tag3: Tag[E3], v: A < (E1 & E2 & E3 & S))(inline handle1: [C] => (x$1: I1[C], x$2: Safepoint ?=> O1[C] => A < (E1 & E2 & E3 & S & S2)) => A < (E1 & E2 & E3 & S & S2), inline handle2: [C] => (x$1: I2[C], x$2: Safepoint ?=> O2[C] => A < (E1 & E2 & E3 & S & S2)) => A < (E1 & E2 & E3 & S & S2), inline handle3: [C] => (x$1: I3[C], x$2: Safepoint ?=> O3[C] => A < (E1 & E2 & E3 & S & S2)) => A < (E1 & E2 & E3 & S & S2))(using inline _frame: Frame, inline flat: Flat[A], safepoint: Safepoint): A < (S & S2)
inline def catching[I[_], O[_], E <: Effect[I, O], A, B, S, S2, S3](inline tag: Tag[E], inline v: => A < (E & S))(inline handle: [C] => (x$1: I[C], x$2: Safepoint ?=> O[C] => A < (E & S & S2)) => A < (E & S & S2), inline done: A => B < S3, inline accept: [C] => I[C] => Boolean, inline recover: Throwable => B < (S & S2 & S3))(using inline _frame: Frame, inline flat: Flat[A], safepoint: Safepoint): B < (S & S2 & S3)
inline def state[I[_], O[_], E <: Effect[I, O], State, A, B, S, S2, S3](inline tag: Tag[E], inline state: State, v: A < (E & S))(inline handle: [C] => (x$1: I[C], x$2: State, x$3: Safepoint ?=> O[C] => A < (E & S & S2)) => (State, A < (E & S & S2)) < S3, inline done: (State, A) => B < (S & S2 & S3), inline accept: [C] => I[C] => Boolean)(using inline _frame: Frame, inline flat: Flat[A], safepoint: Safepoint): B < (S & S2 & S3)