KyoCpsMonad

kyo.direct.internal.KyoCpsMonad
class KyoCpsMonad[S] extends CpsMonadContext[<], CpsMonad[<]

Attributes

Graph
Supertypes
trait CpsMonad[<]
trait CpsMonadContext[<]
class Object
trait Matchable
class Any

Members list

Type members

Types

type Context = KyoCpsMonad[S]

Inherited types

type Direct = Direct[F]

Attributes

Inherited from:
CpsMonadContext
type Monad[X] = F[X]

Attributes

Inherited from:
CpsMonadContext
type WF[X] = F[X]

Attributes

Inherited from:
CpsMonad

Value members

Concrete methods

override def apply[T](op: Context => T < S): T < S

run op in the context environment.

run op in the context environment.

Attributes

Definition Classes
CpsMonad
inline override def flatMap[A, B](fa: A < S)(f: A => B < S): B < S

bind combinator, which compose f over fa

bind combinator, which compose f over fa

Attributes

Definition Classes
CpsMonad
inline override def map[A, B](fa: A < S)(f: A => B): B < S

map a function f over fa

map a function f over fa

Attributes

Definition Classes
CpsMonad
override def monad: CpsMonad[<]

Attributes

Returns

instance of cps-monad, where operations can be intercepted by context. I.e. for context-full operation, like setting common deadline, this deadline can be propagated via flatMap chains.

Definition Classes
CpsMonadContext
inline override def pure[T](t: T): T < S

Pure - wrap value t inside monad.

Pure - wrap value t inside monad.

Note, that pure use eager evaluation, which is different from Haskell.

Attributes

Definition Classes
CpsMonad

Inherited methods

def flatWrap[T](op: => T < S): F[T]

Wrap and flatten of monadic expression..

Wrap and flatten of monadic expression..

Attributes

Inherited from:
CpsMonad
def flatten[T](ffa: T < S < S): F[T]

Attributes

Inherited from:
CpsMonad
def wrap[T](op: => T): F[T]

Create monadic expression according to the default operation of choosen monad types. (i.e. delaying for effect monads, starting for eager monand, pure by default)

Create monadic expression according to the default operation of choosen monad types. (i.e. delaying for effect monads, starting for eager monand, pure by default)

Attributes

Inherited from:
CpsMonad