core

object core
class Object
trait Matchable
class Any
core.type

Type members

Classlikes

abstract class DeepHandler[M[_], E <: Effect[M]] extends Handler[M, E]
trait Effect[+M[_]]
sealed abstract class Handler[M[_], E <: Effect[M]]
abstract class InlineConversion[T, U] extends Conversion[T, U]
object Safepoint
Companion:
class
trait Safepoint[E <: Effect[_[_]]]
Companion:
object
abstract class ShallowHandler[M[_], E <: Effect[M]] extends Handler[M, E]

Types

infix opaque type >[+T, +S]

Givens

Givens

given `given_InlineConversion_>_T`[T](using x$1: NotGiven[T <:< Any > Any]): `given_InlineConversion_>_T`[T]
given given_InlineConversion_E_Function[M[_], E <: Effect[M], T](using x$1: DeepHandler[M, E]): given_InlineConversion_E_Function[M, E, T]
given given_InlineConversion_Kyo_>[T, S](using x$1: NotGiven[T <:< Any > Any]): T given_InlineConversion_Kyo_> S
given given_InlineConversion_T_>[T](using x$1: NotGiven[T <:< Any > Any]): given_InlineConversion_T_>[T]

Extensions

Extensions

extension [M[_], E <: Effect[M]](e: E)
def apply[T]()(using h: DeepHandler[M, E], s: Safepoint[E]): T > E => M[T] > Nothing
def apply[M1[_], E1 <: Effect[M1], T](tup1: (E1, [U] => (x$1: M1[M[U]]) => M[M1[U]]))(using h: DeepHandler[M, E], h1: DeepHandler[M1, E1], s: Safepoint[E], s1: Safepoint[E1]): T > E | E1 => M[M1[T]]
def apply[M1[_], E1 <: Effect[M1], M2[_], E2 <: Effect[M2], T](tup1: (E1, [U] => (x$1: M1[M[U]]) => M[M1[U]]), tup2: (E2, [U] => (x$1: M2[M[U]]) => M[M2[U]], [U] => (x$1: M2[M1[U]]) => M1[M2[U]]))(using h: DeepHandler[M, E], h1: DeepHandler[M1, E1], h2: DeepHandler[M2, E2], s: Safepoint[E], s1: Safepoint[E1], s2: Safepoint[E2]): T > E | E1 | E2 => M[M1[M2[T]]]
extension [T, S](v: T > S)
def <[M[_], E <: Effect[M], S2 <: S](e: E)(using S => S2 | E)(using h: ShallowHandler[M, E], s: Safepoint[E], fr: Frame["<"]): M[T] > S2
def <<[U](f: T > S => U): U
def apply[U, S2](f: T => U > S2)(using fr: Frame["apply"]): U > S | S2
def flatMap[U, S2](f: T => U > S2): U > S | S2
def map[U](f: T => U): U > S
def unit: Unit > S
def withFilter(p: T => Boolean): T > S
extension [M[_], T, S](v: M[T > S])
def >>[E <: Effect[M]](e: E)(using fr: Frame[">>"]): T > S | E
extension [M[_], T, S](v: M[T] > S)
def >[E <: Effect[M]](e: E)(using fr: Frame[">"]): T > S | E
extension [T, S, S2](v: T > S > S2)
def apply()(using Frame["apply"]): T > S | S2