cps.monads.zio

Members list

Concise view

Type members

Classlikes

abstract class CpsConcurentEffectMonadWithInstanceContext[F[_]] extends CpsConcurrentEffectMonad[F] with CpsMonadInstanceContext[F]

Attributes

Graph
Supertypes
trait CpsMonadInstanceContext[F]
trait CpsConcurrentEffectMonad[F]
trait CpsAsyncEffectMonad[F]
trait CpsEffectMonad[F]
trait CpsConcurrentMonad[F]
trait CpsAsyncMonad[F]
trait CpsTryMonad[F]
trait CpsThrowMonad[F]
trait CpsMonad[F]
trait CpsAwaitable[F]
class Object
trait Matchable
class Any
Known subtypes
class ZIOCpsMonad[R, E]
trait CpsTryMonadWithInstanceContext[F[_]] extends CpsTryMonad[F] with CpsMonadInstanceContext[F]

Attributes

Graph
Supertypes
trait CpsMonadInstanceContext[F]
trait CpsTryMonad[F]
trait CpsThrowMonad[F]
trait CpsMonad[F]
trait CpsAwaitable[F]
class Object
trait Matchable
class Any
Known subtypes
class ZManagedCpsMonad[R, E]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class ZIOCpsMonad[R, E] extends CpsConcurentEffectMonadWithInstanceContext[[X] =>> ZIO[R, E, X]]

Attributes

Graph
Supertypes
class CpsConcurentEffectMonadWithInstanceContext[[X] =>> ZIO[R, E, X]]
trait CpsMonadInstanceContext[[X] =>> ZIO[R, E, X]]
trait CpsConcurrentEffectMonad[[X] =>> ZIO[R, E, X]]
trait CpsAsyncEffectMonad[[X] =>> ZIO[R, E, X]]
trait CpsEffectMonad[[X] =>> ZIO[R, E, X]]
trait CpsConcurrentMonad[[X] =>> ZIO[R, E, X]]
trait CpsAsyncMonad[[X] =>> ZIO[R, E, X]]
trait CpsTryMonad[[X] =>> ZIO[R, E, X]]
trait CpsThrowMonad[[X] =>> ZIO[R, E, X]]
trait CpsMonad[[X] =>> ZIO[R, E, X]]
trait CpsAwaitable[[X] =>> ZIO[R, E, X]]
class Object
trait Matchable
class Any
case class ZIOErrorAdapter[E](e: E) extends RuntimeException

Attributes

Graph
Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
class ZManagedCpsMonad[R, E] extends CpsTryMonadWithInstanceContext[[X] =>> ZManaged[R, E, X]]

CpsMonad which encapsulate effects with automatic resource management.

CpsMonad which encapsulate effects with automatic resource management.

Example of usage:

 asyncRManaged[R] {
     val input = FileChannel.open(inputPath)
     val output = FileChannel.open(outputPath)
     input.transformTo(0,Long.MaxValue,output)
 }

Attributes

Graph
Supertypes
trait CpsTryMonadWithInstanceContext[[X] =>> ZManaged[R, E, X]]
trait CpsMonadInstanceContext[[X] =>> ZManaged[R, E, X]]
trait CpsTryMonad[[X] =>> ZManaged[R, E, X]]
trait CpsThrowMonad[[X] =>> ZManaged[R, E, X]]
trait CpsMonad[[X] =>> ZManaged[R, E, X]]
trait CpsAwaitable[[X] =>> ZManaged[R, E, X]]
class Object
trait Matchable
class Any
object zioFutureConversion extends CpsMonadConversion[Future, [T] =>> ZIO[Any, Throwable, T]]

Attributes

Graph
Supertypes
trait CpsMonadConversion[Future, [T] =>> ZIO[Any, Throwable, T]]
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

transparent inline def asyncRIO[R](using ZIOCpsMonad[R, Throwable]): InferAsyncArg[[X] =>> ZIO[R, Throwable, X], CpsMonadInstanceContextBody[[X] =>> ZIO[R, Throwable, X]]]
transparent inline def asyncRManaged[R](using ZManagedCpsMonad[R, Throwable]): InferAsyncArg[[X] =>> RManaged[R, X], CpsMonadInstanceContextBody[[X] =>> ZManaged[R, Throwable, X]]]
transparent inline def asyncZIO[R, E](using ZIOCpsMonad[R, E]): InferAsyncArg[[X] =>> ZIO[R, E, X], CpsMonadInstanceContextBody[[X] =>> ZIO[R, E, X]]]
transparent inline def asyncZManaged[R, E](using ZManagedCpsMonad[R, E]): InferAsyncArg[[X] =>> ZManaged[R, E, X], CpsMonadInstanceContextBody[[X] =>> ZManaged[R, E, X]]]

Givens

Givens

transparent inline given awaitValueDiscard[R, E](using CpsMonad[[X] =>> ZIO[R, E, X]]): ValueDiscard[ZIO[R, E, Unit]]
given futureZIOConversion[R, E](using x$1: Runtime[R]): futureZIOConversion[R, E]
given zioCpsMonad[R, E]: ZIOCpsMonad[R, E]
given zioDynamicMemoizationAp[R1, E1, R2 >: R1, E2 <: E1, T]: zioDynamicMemoizationAp[R1, E1, R2, E2, T]
given zioMemoization[R, E]: zioMemoization[R, E]
given zioToRio[R]: zioToRio[R]
given zioToZManaged[R1, R2 <: R1, E1, E2 >: E1]: zioToZManaged[R1, R2, E1, E2]
given zioToZio[R1, R2 <: R1, E1, E2 >: E1]: zioToZio[R1, R2, E1, E2]

Extensions

Extensions

extension [R, E, A](r: ZManaged[R, E, A])(using m: CpsTryMonad[[X] =>> ZIO[R, E, X]])
transparent inline def useOn[B](inline f: A => B)(using CpsMonadContext[[X] =>> ZIO[R, E, X]]): B

pseudo-synchronious variant of use for using inside async block.

pseudo-synchronious variant of use for using inside async block.

Attributes

extension (zm: ZManaged.type)
transparent inline def using[R, E, A, B](r: ZManaged[R, E, A])(inline f: A => B)(using m: CpsTryMonad[[X] =>> ZIO[R, E, X]], mc: CpsMonadContext[[X] =>> ZIO[R, E, X]]): B

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

Attributes

transparent inline def using[R, E, A1, A2, B](r1: ZManaged[R, E, A1], r2: ZManaged[R, E, A2])(inline f: (A1, A2) => B)(using m: CpsTryMonad[[X] =>> ZIO[R, E, X]], mc: CpsMonadContext[[X] =>> ZIO[R, E, X]]): B

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

Attributes

transparent inline def using[R, E, A1, A2, A3, B](r1: ZManaged[R, E, A1], r2: ZManaged[R, E, A2], r3: ZManaged[R, E, A3])(inline f: (A1, A2, A3) => B)(using m: CpsTryMonad[[X] =>> ZIO[R, E, X]], mc: CpsMonadContext[[X] =>> ZIO[R, E, X]]): B

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

using ZManaged resource and close r after f will be finished. Shpuld be used inside async block, 'f' can contains awaits.

Attributes