CpsSchedulingMonad

trait CpsSchedulingMonad[F[_]] extends CpsConcurrentMonad[F]

Monad, where we can spawn some event and be sure that one be evaluated, event if we drop result.

Interoperability with Future: allows

  async[Future]{
     ...
     await[F](..)
     ...
  }
Companion:
object
Source:
CpsMonad.scala
trait CpsAsyncMonad[F]
trait CpsTryMonad[F]
trait CpsMonad[F]
trait CpsAwaitable[F]
class Object
trait Matchable
class Any

Type members

Types

type Spawned[A] = F[A]

In eager monad, spawned process can be represented by F[_]

In eager monad, spawned process can be represented by F[_]

Source:
CpsMonad.scala

Inherited types

Inherited from:
CpsMonad
Source:
CpsMonad.scala
type WF[X] = F[X]
Inherited from:
CpsMonad
Source:
CpsMonad.scala

Value members

Abstract methods

def spawn[A](op: => F[A]): F[A]

schedule execution of op somewhere, immediatly. Note, that characteristics of scheduler can vary.

schedule execution of op somewhere, immediatly. Note, that characteristics of scheduler can vary.

Source:
CpsMonad.scala

Concrete methods

def join[A](op: F[A]): F[A]

join spawned immediate monad means to receive those spawing monad.

join spawned immediate monad means to receive those spawing monad.

Source:
CpsMonad.scala
def spawnEffect[A](op: => F[A]): F[F[A]]

representation of spawnEffect as immediate operation.

representation of spawnEffect as immediate operation.

Source:
CpsMonad.scala

Inherited methods

def adoptCallbackStyle[A](source: Try[A] => Unit => Unit): F[A]

called by the source, which accept callback inside

called by the source, which accept callback inside

Inherited from:
CpsAsyncMonad
Source:
CpsMonad.scala
def apply[T](op: Context => F[T]): F[T]

run op in the context environment.

run op in the context environment.

Inherited from:
CpsMonad
Source:
CpsMonad.scala
def concurrently[A, B](fa: F[A], fb: F[B]): F[Either[(Try[A], F[B]), (F[A], Try[B])]]

join two computations in such way, that they will execute concurrently.

join two computations in such way, that they will execute concurrently.

Inherited from:
CpsConcurrentMonad
Source:
CpsMonad.scala
def error[A](e: Throwable): F[A]

represent error e in monadic context.

represent error e in monadic context.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def flatMap[A, B](fa: F[A])(f: A => F[B]): F[B]

bind combinator, which compose f over fa

bind combinator, which compose f over fa

Inherited from:
CpsMonad
Source:
CpsMonad.scala
def flatMapTry[A, B](fa: F[A])(f: Try[A] => F[B]): F[B]

flatMap over result of checked evaluation of A

flatMap over result of checked evaluation of A

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def fromTry[A](r: Try[A]): F[A]

transform r into pure value or error.

transform r into pure value or error.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def map[A, B](fa: F[A])(f: A => B): F[B]

map a function f over fa

map a function f over fa

Inherited from:
CpsMonad
Source:
CpsMonad.scala
def mapTry[A, B](fa: F[A])(f: Try[A] => B): F[B]

map over result of checked evaluation of A

map over result of checked evaluation of A

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def mapTryAsync[A, B](fa: F[A])(f: Try[A] => F[B]): F[B]

synonym for flatMapTry needed for processing awaits inside mapTry.

synonym for flatMapTry needed for processing awaits inside mapTry.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def pure[T](t: T): F[T]

Pure - wrap value t inside monad.

Pure - wrap value t inside monad.

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

Inherited from:
CpsMonad
Source:
CpsMonad.scala
def restore[A](fa: F[A])(fx: Throwable => F[A]): F[A]

restore fa, ie if fa sucessful - return fa, otherwise apply fx to received error.

restore fa, ie if fa sucessful - return fa, otherwise apply fx to received error.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def tryCancel[A](op: F[A]): F[Unit]

Send cancel signal, which can be accepted or rejected by op flow.

Send cancel signal, which can be accepted or rejected by op flow.

Inherited from:
CpsConcurrentMonad
Source:
CpsMonad.scala
def tryImpure[A](a: => F[A]): F[A]

try to evaluate async operation and wrap successful or failed result into F.

try to evaluate async operation and wrap successful or failed result into F.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def tryPure[A](a: => A): F[A]

try to evaluate synchonious operation and wrap successful or failed result into F.

try to evaluate synchonious operation and wrap successful or failed result into F.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def tryPureAsync[A](a: () => F[A]): F[A]

async shift of tryPure.

async shift of tryPure.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def withAction[A](fa: F[A])(action: => Unit): F[A]

ensure that action will run before getting value from fa

ensure that action will run before getting value from fa

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def withActionAsync[A](fa: F[A])(action: () => F[Unit]): F[A]

async shift of withAction.

async shift of withAction.

This method is substituted instead withAction, when we use await inside withAction argument.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala
def withAsyncAction[A](fa: F[A])(action: => F[Unit]): F[A]

return result of fa after completition of action.

return result of fa after completition of action.

Inherited from:
CpsTryMonad
Source:
CpsMonad.scala