cps.monads

package cps.monads

Members list

Type members

Classlikes

sealed trait AsyncFreeMonad[+T]

FreeCpsMonad with async support. Used when you want use test free monad with API which uses callbacks.

FreeCpsMonad with async support. Used when you want use test free monad with API which uses callbacks.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Error
class FlatMap[A, B]
class FlatMapTry[A, B]
class Pure[A]

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Implementation for FreeCpsMonad. It is intentionally defiend at top-level, to fire 'implicitAmbigious' error when async is called without parameters and without select instance of CpsMonad in scope.

Implementation for FreeCpsMonad. It is intentionally defiend at top-level, to fire 'implicitAmbigious' error when async is called without parameters and without select instance of CpsMonad in scope.

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Self type
sealed trait FreeMonad[+T]

FreeCpsMonad Typical pattern - use FreeCpsMonad and custom interpreter in test.

FreeCpsMonad Typical pattern - use FreeCpsMonad and custom interpreter in test.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Error
class FlatMap[A, B]
class FlatMapTry[A, B]
class Pure[A]
object FreeMonad

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
FreeMonad.type
class FutureAsyncMonadAPI(using x$1: ExecutionContext) extends CpsSchedulingMonad[Future], CpsTryContextMonad[Future, FutureContext]

Default CpsMonad implementation for Future

Default CpsMonad implementation for Future

Attributes

Supertypes
trait CpsSchedulingMonad[Future]
trait CpsConcurrentMonad[Future]
trait CpsAsyncMonad[Future]
trait CpsTryMonad[Future]
trait CpsTrySupport[Future]
trait CpsThrowMonad[Future]
trait CpsThrowSupport[Future]
trait CpsMonad[Future]
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait CpsTryMonadContext[Future]
trait CpsThrowMonadContext[Future]
trait CpsMonadContext[Future]
class Object
trait Matchable
class Any
Show all
class IterableCpsMonad[C <: (IterableOnce)](iterableFactory: IterableFactory[C]) extends CpsThrowMonad[C], CpsThrowMonadInstanceContext[C]

Monad for iterable collection. typical usage:

Monad for iterable collection. typical usage:

  def allpairs[A](l:List[A]):List((A,A)) = reify[List] {
      (reflect(l),reflect(l))
  }

Attributes

Supertypes
trait CpsThrowMonad[C]
trait CpsThrowSupport[C]
trait CpsMonad[C]
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait CpsThrowMonad[TailRec]
trait CpsThrowSupport[TailRec]
trait CpsMonad[TailRec]
class Object
trait Matchable
class Any
Show all
Self type

Types

type CpsIdentity[T] = T

Dependency-less version of IdentityMonad

Dependency-less version of IdentityMonad

Attributes

Givens

Givens

Implementation for FreeCpsMonad. It is intentionally defiend at top-level, to fire 'implicitAmbigious' error when async is called without parameters and without select instance of CpsMonad in scope.

Implementation for FreeCpsMonad. It is intentionally defiend at top-level, to fire 'implicitAmbigious' error when async is called without parameters and without select instance of CpsMonad in scope.

Attributes

given FutureAsyncMonad(using ec: ExecutionContext): FutureAsyncMonadAPI
given fromFutureConversion[G[_], T](using ex: ExecutionContext, m: CpsAsyncMonad[G]): fromFutureConversion[G, T]
given given_CpsMonadConversion_C_Iterable[C <: (Iterable)]: given_CpsMonadConversion_C_Iterable[C]
given given_CpsRuntimeAwait_CompletableFuture: CpsRuntimeAwait[[T <: <FromJavaObject>] =>> CompletableFuture[T]]
inline given iterableCpsMonad[C <: (Iterable)]: CpsThrowMonad[C]
given toFutureConversion[F[_], T](using x$1: ExecutionContext, x$2: CpsSchedulingMonad[F]): toFutureConversion[F, T]