CatsIOCpsAsyncMonad

cps.monads.catsEffect.CatsIOCpsAsyncMonad

CpsAsyncMonad for cats-effect.

Attributes

Graph
Supertypes
class CatsConcurrent[IO]
trait CpsConcurrentEffectMonad[IO]
trait CpsConcurrentMonad[IO]
class CatsAsync[IO]
trait CpsAsyncEffectMonad[IO]
trait CpsEffectMonad[IO]
trait CpsAsyncMonad[IO]
class CatsMonadThrow[IO]
trait CpsTryMonad[IO]
class CatsMonad[IO]
trait CpsMonadInstanceContext[IO]
trait CpsMonad[IO]
trait CpsAwaitable[IO]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Types

type F[T] = IO[T]

Inherited types

type Context = CpsMonadInstanceContextBody[F]

Attributes

Inherited from:
CpsMonadInstanceContext
type Spawned[A] = Fiber[F, Throwable, A]

Spawned[A] is a computation, which is executed in own flow. (i.e. Fiber, Future, etc ..)

Spawned[A] is a computation, which is executed in own flow. (i.e. Fiber, Future, etc ..)

Attributes

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

Attributes

Inherited from:
CpsMonad

Value members

Inherited methods

def adoptAwait[A](fa: IO[A]): F[A]

If is it statically known, that monad is evaluated in this context, then this call is completely eliminated by dotty-cps-async macro

If is it statically known, that monad is evaluated in this context, then this call is completely eliminated by dotty-cps-async macro

Attributes

Returns:

fa

Inherited from:
CpsMonadInstanceContext
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

Attributes

Inherited from:
CatsAsync
def apply[T](op: Context => IO[T]): F[T]

run with this instance

run with this instance

Attributes

Inherited from:
CpsMonadInstanceContext
def concurrently[A, B](fa: IO[A], fb: IO[B]): F[Either[(Try[A], Spawned[B]), (Spawned[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.

Attributes

Inherited from:
CpsConcurrentMonad
def delay[T](x: => T): F[T]

For effect monads it is usually the same, as pure, but unlike pure, argument of evaluation is lazy.

For effect monads it is usually the same, as pure, but unlike pure, argument of evaluation is lazy.

Note, that delay is close to original return in haskell with lazy evaluation semantics. So, for effect monads, representing pure as eager function is a simplification of semantics, real binding to monads in math sence, should be with delay instead pure

Attributes

Inherited from:
CpsEffectMonad
def delayedUnit: F[Unit]

Delayed evaluation of unit. If you want to override this for you monad, you should overrid delayed to.

Delayed evaluation of unit. If you want to override this for you monad, you should overrid delayed to.

Attributes

Inherited from:
CpsEffectMonad
def error[A](e: Throwable): F[A]

represent error e in monadic context.

represent error e in monadic context.

Attributes

Inherited from:
CatsMonadThrow
def flatDelay[T](x: => IO[T]): F[T]

shortcat for delayed evaluation of effect.

shortcat for delayed evaluation of effect.

Attributes

Inherited from:
CpsEffectMonad
def flatMap[A, B](fa: IO[A])(f: A => IO[B]): F[B]

bind combinator, which compose f over fa

bind combinator, which compose f over fa

Attributes

Inherited from:
CatsMonad
def flatMapTry[A, B](fa: IO[A])(f: Try[A] => IO[B]): F[B]

flatMap over result of checked evaluation of A

flatMap over result of checked evaluation of A

Attributes

Inherited from:
CatsMonadThrow
def fromTry[A](r: Try[A]): F[A]

transform r into pure value or error.

transform r into pure value or error.

Attributes

Inherited from:
CpsTryMonad
def join[A](op: Spawned[A]): F[A]

join the op computation: i.e. result is op which will become available after the spawned execution will be done.

join the op computation: i.e. result is op which will become available after the spawned execution will be done.

Attributes

Inherited from:
CatsConcurrent
override def lazyPure[T](op: => T): F[T]

synonim for delay

synonim for delay

Attributes

Definition Classes
CpsEffectMonad -> CpsMonad
Inherited from:
CpsEffectMonad
def map[A, B](fa: IO[A])(f: A => B): F[B]

map a function f over fa

map a function f over fa

Attributes

Inherited from:
CatsMonad
override def mapTry[A, B](fa: IO[A])(f: Try[A] => B): F[B]

map over result of checked evaluation of A

map over result of checked evaluation of A

Attributes

Definition Classes
CatsMonadThrow -> CpsTryMonad
Inherited from:
CatsMonadThrow
def mapTryAsync[A, B](fa: IO[A])(f: Try[A] => IO[B]): F[B]

synonym for flatMapTry needed for processing awaits inside mapTry.

synonym for flatMapTry needed for processing awaits inside mapTry.

Attributes

Inherited from:
CpsTryMonad
def pure[A](a: A): F[A]

Pure - wrap value t inside monad.

Pure - wrap value t inside monad.

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

Attributes

Inherited from:
CatsMonad
def restore[A](fa: IO[A])(fx: Throwable => IO[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.

Attributes

Inherited from:
CpsTryMonad
def spawnEffect[A](op: => IO[A]): F[Spawned[A]]

spawn execution of operation in own execution flow.

spawn execution of operation in own execution flow.

Attributes

Inherited from:
CatsConcurrent
def tryCancel[A](op: Spawned[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.

Attributes

Inherited from:
CatsConcurrent
def tryImpure[A](a: => IO[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.

Attributes

Inherited from:
CpsTryMonad
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.

Attributes

Inherited from:
CpsTryMonad
def tryPureAsync[A](a: () => IO[A]): F[A]

async shift of tryPure.

async shift of tryPure.

Attributes

Inherited from:
CpsTryMonad
def withAction[A](fa: IO[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

Attributes

Inherited from:
CpsTryMonad
def withActionAsync[A](fa: IO[A])(action: () => IO[Unit]): F[A]

async shift of withAction.

async shift of withAction.

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

Attributes

Inherited from:
CpsTryMonad
def withAsyncAction[A](fa: IO[A])(action: => IO[Unit]): F[A]

return result of fa after completition of action.

return result of fa after completition of action.

Attributes

Inherited from:
CpsTryMonad