CatsMonad

cps.monads.catsEffect.CatsMonad
class CatsMonad[F[_]](using mf: Monad[F]) extends CpsMonad[F] with CpsMonadInstanceContext[F]

Attributes

Graph
Supertypes
trait CpsMonadInstanceContext[F]
trait CpsMonad[F]
trait CpsAwaitable[F]
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Type members

Inherited types

type Context = CpsMonadInstanceContextBody[F]

Attributes

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

Attributes

Inherited from:
CpsMonad

Value members

Concrete methods

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

Attributes

def map[A, B](fa: F[A])(f: A => B): F[B]

map a function f over fa

map a function f over fa

Attributes

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 methods

def adoptAwait[A](fa: F[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 apply[T](op: Context => F[T]): F[T]

run with this instance

run with this instance

Attributes

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

Lazy variant of pure, which by default - create monadic expression according to the choosen monad types. (i.e. delaing for effect monads, starting for eager monand, pure by defiault)

Lazy variant of pure, which by default - create monadic expression according to the choosen monad types. (i.e. delaing for effect monads, starting for eager monand, pure by defiault)

Attributes

Inherited from:
CpsMonad