Packages

package bio

Current hierarchy (use http://www.nomnoml.com/ to render, rendered: https://izumi.7mind.io/bio/media/bio-relationship-hierarchy.svg)

[Functor2]<--[Bifunctor2]
[Bifunctor2]<--[ApplicativeError2]
[Functor2]<--[Applicative2]
[Applicative2]<--[Guarantee2]
[Applicative2]<--[Monad2]
[Guarantee2]<--[ApplicativeError2]
[ApplicativeError2]<--[Error2]
[Monad2]<--[Error2]
[Error2]<--[Bracket2]
[Bracket2]<--[Panic2]
[Panic2]<--[IO2]
[IO2]<--[Async2]

[Monad2]<--[Parallel2]
[Parallel2]<--[Concurrent2]
[Concurrent2]<--[Async2]

[Error2]<--[Temporal2]

Auxiliary algebras:

[cats.effect.*]<:--[CatsConversions]

[Fork2]<:--[Fiber2]

[BlockingIO2]

[Primitives2]

[Primitives2]<:--[Ref2]
[Primitives2]<:--[Semaphore2]
[Primitives2]<:--[Promise2]

[PrimitivesM2]
[PrimitivesM2]<:--[RefM2]
[PrimitivesM2]<:--[Mutex2]

[Entropy1]<:--[Entropy2]
[Clock1]<:--[Clock2]

[UnsafeRun2]

Raw inheritance hierarchy:

[Functor2]<--[Applicative2]
[Applicative2]<--[Guarantee2]
[Applicative2]<--[Monad2]
[Guarantee2]<--[ApplicativeError2]
[Bifunctor2]<--[ApplicativeError2]
[ApplicativeError2]<--[Error2]
[Monad2]<--[Error2]
[Error2]<--[Bracket2]
[Bracket2]<--[Panic2]
[Panic2]<--[IO2]

[Parallel2]<--[Concurrent2]
[Concurrent2]<--[Async2]
[IO2]<--[Async2]

[Temporal2]

current hierarchy roots:

bifunctor:

  • Functor3
  • Bifunctor3
  • Parallel3
  • Temporal3

standalone:

  • Fork3
  • BlockingIO3
  • Primitives3
  • PrimitivesM3
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. bio
  2. Syntax2
  3. ImplicitPuns
  4. ImplicitPuns1
  5. ImplicitPuns2
  6. ImplicitPuns3
  7. ImplicitPuns4
  8. ImplicitPuns5
  9. ImplicitPuns6
  10. ImplicitPuns7
  11. ImplicitPuns8
  12. ImplicitPuns9
  13. ImplicitPuns10
  14. ImplicitPuns11
  15. ImplicitPuns12
  16. ImplicitPuns13
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package data
  2. package impl
  3. package retry
  4. package syntax

Type Members

  1. trait Applicative2[F[+_, +_]] extends Functor2[F]
  2. trait ApplicativeError2[F[+_, +_]] extends Guarantee2[F] with Bifunctor2[F]
  3. trait Async2[F[+_, +_]] extends Concurrent2[F] with IO2[F]
  4. trait Bifunctor2[F[+_, +_]] extends RootBifunctor[F]
  5. trait BlockingIO2[F[+_, +_]] extends BlockingIOInstances with DivergenceHelper with PredefinedHelper
  6. sealed trait BlockingIOInstancesLowPriority extends AnyRef
  7. trait Bracket2[F[+_, +_]] extends Error2[F]
  8. trait CatsConversions extends CatsConversions1

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    import izumi.functional.bio.IO2
    import izumi.functional.bio.catz.*
    import cats.effect.kernel.Sync
    
    def divideByZero[F[+_, +_]: IO2]: F[Throwable, Int] = {
      Sync[F[Throwable, _]].delay(10 / 0)
    }
  9. trait CatsConversions1 extends CatsConversions2
  10. trait CatsConversions10 extends CatsConversions11
  11. trait CatsConversions11 extends AnyRef
  12. trait CatsConversions2 extends CatsConversions3
  13. trait CatsConversions3 extends CatsConversions4
  14. trait CatsConversions4 extends CatsConversions5
  15. trait CatsConversions5 extends CatsConversions6
  16. trait CatsConversions6 extends CatsConversions60
  17. trait CatsConversions60 extends CatsConversions7
  18. trait CatsConversions7 extends CatsConversions8
  19. trait CatsConversions8 extends CatsConversions9
  20. trait CatsConversions9 extends CatsConversions10
  21. trait Clock1[F[_]] extends DivergenceHelper
  22. type Clock2[F[_, _]] = Clock1[[β$4$]F[Nothing, β$4$]]
  23. type Clock3[F[_, _, _]] = Clock1[[γ$5$]F[Any, Nothing, γ$5$]]
  24. trait Concurrent2[F[+_, +_]] extends Parallel2[F]
  25. trait DivergenceHelper extends AnyRef
  26. trait Entropy1[F[_]] extends DivergenceHelper
  27. type Entropy2[F[_, _]] = Entropy1[[β$6$]F[Nothing, β$6$]]
  28. type Entropy3[F[_, _, _]] = Entropy1[[γ$7$]F[Any, Nothing, γ$7$]]
  29. trait Error2[F[+_, +_]] extends ApplicativeError2[F] with Monad2[F] with ErrorAccumulatingOps2[F]
  30. trait ErrorAccumulatingOps2[F[+_, +_]] extends AnyRef
  31. sealed trait Exit[+E, +A] extends AnyRef
  32. trait Fiber2[+F[+_, +_], +E, +A] extends AnyRef
  33. trait Fork2[F[+_, +_]] extends RootBifunctor[F] with ForkInstances
  34. trait Functor2[F[+_, +_]] extends RootBifunctor[F]
  35. trait Guarantee2[F[+_, +_]] extends Applicative2[F]
  36. trait IO2[F[+_, +_]] extends Panic2[F]
  37. type Latch2[+F[+_, +_]] = Promise2[F, Nothing, Unit]
  38. sealed trait LowPriorityClockInstances extends AnyRef
  39. sealed trait LowPriorityEntropyInstances extends AnyRef
  40. sealed trait LowPriorityForkInstances extends AnyRef
  41. trait LowPrioritySyncSafeInstances0 extends LowPrioritySyncSafeInstances1
  42. trait LowPrioritySyncSafeInstances1 extends AnyRef
  43. trait Monad2[F[+_, +_]] extends Applicative2[F]
  44. trait Mutex2[F[+_, +_]] extends AnyRef
  45. trait Panic2[F[+_, +_]] extends Bracket2[F] with PanicSyntax
  46. trait Parallel2[F[+_, +_]] extends RootBifunctor[F]
  47. trait PredefinedHelper extends AnyRef
  48. trait Primitives2[F[+_, +_]] extends PrimitivesInstances
  49. sealed trait PrimitivesInstancesLowPriority extends AnyRef
  50. trait PrimitivesM2[F[+_, +_]] extends PrimitivesMInstances
  51. sealed trait PrimitivesMLowPriorityInstances1 extends PrimitivesMLowPriorityInstances2
  52. sealed trait PrimitivesMLowPriorityInstances2 extends AnyRef
  53. trait Promise2[+F[+_, +_], E, A] extends AnyRef
  54. trait Ref1[+F[_], A] extends AnyRef
  55. type Ref2[+F[_, _], A] = Ref1[[β$0$]F[Nothing, β$0$], A]
  56. trait RefM2[F[+_, +_], A] extends AnyRef
  57. trait Root extends DivergenceHelper with PredefinedHelper
  58. trait RootBifunctor[F[+_, +_]] extends Root
  59. sealed trait RootInstancesLowPriority1 extends RootInstancesLowPriority2
  60. sealed trait RootInstancesLowPriority2 extends RootInstancesLowPriority3
  61. sealed trait RootInstancesLowPriority3 extends RootInstancesLowPriority4
  62. sealed trait RootInstancesLowPriority4 extends RootInstancesLowPriority5
  63. sealed trait RootInstancesLowPriority5 extends RootInstancesLowPriority6
  64. sealed trait RootInstancesLowPriority6 extends RootInstancesLowPriority7
  65. sealed trait RootInstancesLowPriority7 extends RootInstancesLowPriority8
  66. sealed trait RootInstancesLowPriority8 extends AnyRef
  67. trait Semaphore1[+F[_]] extends AnyRef
  68. type Semaphore2[+F[_, _]] = Semaphore1[[β$1$]F[Nothing, β$1$]]
  69. trait SyncSafe1[F[_]] extends DivergenceHelper

    Import _exception-safe_ side effects

  70. type SyncSafe2[F[_, _]] = SyncSafe1[[β$2$]F[Nothing, β$2$]]
  71. type SyncSafe3[F[_, _, _]] = SyncSafe1[[γ$3$]F[Any, Nothing, γ$3$]]
  72. trait Temporal2[F[+_, +_]] extends RootBifunctor[F] with TemporalInstances
  73. sealed trait TemporalInstancesLowPriority1 extends AnyRef
  74. type TransZio[F[_, _]] = Isomorphism3[[R, E, A]F[E, A], [R, E, A]IO[E, A]]
  75. final case class TypedError[+A](prefixMessage: String, error: A) extends RuntimeException with Product with Serializable
  76. trait UnsafeRun2[F[_, _]] extends AnyRef
  77. trait WithFilter[+E] extends AnyRef
  78. sealed trait WithFilterInstances1 extends WithFilterInstances2
  79. sealed trait WithFilterInstances2 extends WithFilterInstances3
  80. sealed trait WithFilterInstances3 extends AnyRef

Value Members

  1. final def Applicative2[F[+_, +_]](implicit arg0: Applicative2[F]): Applicative2[F]
    Definition Classes
    ImplicitPuns11
    Annotations
    @inline()
  2. implicit final def Applicative2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Applicative2[F]): ApplicativeOps[F, E, A]
    Definition Classes
    ImplicitPuns11
    Annotations
    @inline()
  3. final def ApplicativeError2[F[+_, +_]](implicit arg0: ApplicativeError2[F]): ApplicativeError2[F]
    Definition Classes
    ImplicitPuns8
    Annotations
    @inline()
  4. implicit final def ApplicativeError2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: ApplicativeError2[F]): ApplicativeErrorOps[F, E, A]
    Definition Classes
    ImplicitPuns8
    Annotations
    @inline()
  5. final def Async2[F[+_, +_]](implicit arg0: Async2[F]): Async2[F]
    Definition Classes
    ImplicitPuns1
    Annotations
    @inline()
  6. implicit final def Async2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Async2[F]): AsyncOps[F, E, A]
    Definition Classes
    ImplicitPuns1
    Annotations
    @inline()
  7. final def Bifunctor2[F[+_, +_]](implicit arg0: Bifunctor2[F]): Bifunctor2[F]
    Definition Classes
    ImplicitPuns12
    Annotations
    @inline()
  8. implicit final def Bifunctor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Functor2[F]): FunctorOps[F, E, A]
    Definition Classes
    ImplicitPuns12
    Annotations
    @inline()
  9. implicit final def Bifunctor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Bifunctor2[F]): BifunctorOps[F, E, A]
    Definition Classes
    ImplicitPuns12
    Annotations
    @inline()
  10. final def Bracket2[F[+_, +_]](implicit arg0: Bracket2[F]): Bracket2[F]
    Definition Classes
    ImplicitPuns6
    Annotations
    @inline()
  11. implicit final def Bracket2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Bracket2[F]): BracketOps[F, E, A]
    Definition Classes
    ImplicitPuns6
    Annotations
    @inline()
  12. final def Concurrent2[F[+_, +_]](implicit arg0: Concurrent2[F]): Concurrent2[F]
    Definition Classes
    ImplicitPuns2
    Annotations
    @inline()
  13. implicit final def Concurrent2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Panic2[F]): PanicOps[F, E, A]
    Definition Classes
    ImplicitPuns2
    Annotations
    @inline()
  14. implicit final def Concurrent2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Concurrent2[F]): ConcurrentOps[F, E, A]
    Definition Classes
    ImplicitPuns2
    Annotations
    @inline()
  15. final def Error2[F[+_, +_]](implicit arg0: Error2[F]): Error2[F]
    Definition Classes
    ImplicitPuns7
    Annotations
    @inline()
  16. implicit final def Error2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Error2[F]): ErrorOps[F, E, A]
    Definition Classes
    ImplicitPuns7
    Annotations
    @inline()
  17. def F[F[+_, +_]](implicit F: Functor2[F]): bio.syntax.Syntax2.F.F.type

    A convenient dependent summoner for BIO hierarchy.

    A convenient dependent summoner for BIO hierarchy. Auto-narrows to the most powerful available class:

    import izumi.functional.bio.{F, Temporal2}
    
    def y[F[+_, +_]: Temporal2] = {
      F.timeout(5.seconds)(F.forever(F.unit))
    }
    Definition Classes
    Syntax2
  18. final def Fork2[F[+_, +_]](implicit arg0: Fork2[F]): Fork2[F]
    Definition Classes
    ImplicitPuns
    Annotations
    @inline()
  19. implicit final def Fork2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Fork2[F]): ForkOps[F, E, A]
    Definition Classes
    ImplicitPuns
    Annotations
    @inline()
  20. final def Functor2[F[+_, +_]](implicit arg0: Functor2[F]): Functor2[F]
    Definition Classes
    ImplicitPuns13
    Annotations
    @inline()
  21. implicit final def Functor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Functor2[F]): FunctorOps[F, E, A]
    Definition Classes
    ImplicitPuns13
    Annotations
    @inline()
  22. final def Guarantee2[F[+_, +_]](implicit arg0: Guarantee2[F]): Guarantee2[F]
    Definition Classes
    ImplicitPuns9
    Annotations
    @inline()
  23. implicit final def Guarantee2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Guarantee2[F]): GuaranteeOps[F, E, A]
    Definition Classes
    ImplicitPuns9
    Annotations
    @inline()
  24. final def IO2[F[+_, +_]](implicit arg0: IO2[F]): IO2[F]
    Definition Classes
    ImplicitPuns4
    Annotations
    @inline()
  25. final def IO2[F[+_, +_], A](effect: => A)(implicit F: IO2[F]): F[Throwable, A]

    Shorthand for IO2#syncThrowable

    Shorthand for IO2#syncThrowable

    IO2(println("Hello world!"))
    Definition Classes
    ImplicitPuns4
    Annotations
    @inline()
  26. implicit final def IO2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: IO2[F]): IOOps[F, E, A]
    Definition Classes
    ImplicitPuns4
    Annotations
    @inline()
  27. lazy val Latch2: Promise2.type
  28. final def Monad2[F[+_, +_]](implicit arg0: Monad2[F]): Monad2[F]
    Definition Classes
    ImplicitPuns10
    Annotations
    @inline()
  29. implicit final def Monad2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Monad2[F]): MonadOps[F, E, A]
    Definition Classes
    ImplicitPuns10
    Annotations
    @inline()
  30. final def Panic2[F[+_, +_]](implicit arg0: Panic2[F]): Panic2[F]
    Definition Classes
    ImplicitPuns5
    Annotations
    @inline()
  31. implicit final def Panic2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Panic2[F]): PanicOps[F, E, A]
    Definition Classes
    ImplicitPuns5
    Annotations
    @inline()
  32. final def Parallel2[F[+_, +_]](implicit arg0: Parallel2[F]): Parallel2[F]
    Definition Classes
    ImplicitPuns3
    Annotations
    @inline()
  33. implicit final def Parallel2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Monad2[F]): MonadOps[F, E, A]
    Definition Classes
    ImplicitPuns3
    Annotations
    @inline()
  34. implicit final def Parallel2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Parallel2[F]): ParallelOps[F, E, A]
    Definition Classes
    ImplicitPuns3
    Annotations
    @inline()
  35. lazy val Ref2: Ref1.type
  36. lazy val Semaphore2: Semaphore1.type
  37. final def Temporal2[F[+_, +_]](implicit arg0: Temporal2[F]): Temporal2[F]
    Definition Classes
    ImplicitPuns
    Annotations
    @inline()
  38. implicit final def Temporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Error2[F]): ErrorOps[F, E, A]
    Definition Classes
    ImplicitPuns
    Annotations
    @inline()
  39. implicit final def Temporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Temporal2[F]): TemporalOps[F, E, A]
    Definition Classes
    ImplicitPuns
    Annotations
    @inline()
  40. object BlockingIO2
  41. object BlockingIOInstances extends BlockingIOInstancesLowPriority
  42. object CatsConversions
  43. object Clock1 extends LowPriorityClockInstances
  44. object Clock2
  45. object Clock3
  46. object DivergenceHelper
  47. object Entropy1 extends LowPriorityEntropyInstances
  48. object Entropy2
  49. object Entropy3
  50. object Exit
  51. object Fiber2
  52. object ForkInstances extends LowPriorityForkInstances
  53. object Mutex2
  54. object PanicSyntax
  55. object PredefinedHelper
  56. object Primitives2
  57. object PrimitivesInstances extends PrimitivesInstancesLowPriority
  58. object PrimitivesM2
  59. object PrimitivesMInstances extends PrimitivesMLowPriorityInstances1
  60. object Promise2
  61. object Ref1
  62. object RefM2
  63. object Root extends RootInstancesLowPriority1
  64. object Semaphore1
  65. object SyncSafe1 extends LowPrioritySyncSafeInstances0
  66. object SyncSafe2
  67. object SyncSafe3
  68. object TemporalInstances extends TemporalInstancesLowPriority1
  69. object TransZio
  70. object TypedError extends Serializable
  71. object UnsafeRun2
  72. object WithFilter extends WithFilterInstances1
  73. object catz extends CatsConversions

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    import izumi.functional.bio.IO2
    import izumi.functional.bio.catz.*
    import cats.effect.Sync
    
    def divideByZero[F[+_, +_]: IO2]: F[Throwable, Int] = {
      Sync[F[Throwable, _]].delay(10 / 0)
    }

Inherited from Syntax2

Inherited from ImplicitPuns

Inherited from ImplicitPuns1

Inherited from ImplicitPuns2

Inherited from ImplicitPuns3

Inherited from ImplicitPuns4

Inherited from ImplicitPuns5

Inherited from ImplicitPuns6

Inherited from ImplicitPuns7

Inherited from ImplicitPuns8

Inherited from ImplicitPuns9

Inherited from ImplicitPuns10

Inherited from ImplicitPuns11

Inherited from ImplicitPuns12

Inherited from ImplicitPuns13

Inherited from AnyRef

Inherited from Any

Ungrouped