izumi.functional.bio

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

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

[Monad2]<--[Parallel2]
[Parallel2]<--[WeakAsync2]
[Panic2]<--[Concurrent2]
[Parallel2]<--[Concurrent2]

Auxiliary algebras (rendered: https://izumi.7mind.io/bio/media/algebras.svg):

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

[Fork2]<:--[Fiber2]

[BlockingIO2]

[Primitives2]

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

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

[PrimitivesLocal2]
[PrimitivesLocal2]<--[FiberRef2]
[PrimitivesLocal2]<--[FiberLocal2]

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

[Scheduler2]

[UnsafeRun2]

Raw inheritance hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-hierarchy.svg):

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

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

[WeakTemporal2]<--[Temporal2]

current hierarchy roots:

bifunctor:

standalone:

Attributes

Note

New BIO typeclass checklist:

[ ] - add syntax to `Syntax2` with the same name as the type
[ ] - add syntax for new root's `InnerF` with the same name as `InnerF` in `Syntax2`
[ ] - add new attachments in `RootInstanceLowPriority*`
[ ] - add conversion from itself to its `InnerF` to `RootInstanceLowPriority*`
      (conversions implicit priority: from most specific `InnerF` to least specific)
[ ] - add conversion to equivalent cats typeclass if applicable in `CatsConversions`
[ ] - update hierarchy graph above, re-render SVG
[ ] - add syntax tests in `SyntaxTest`, runtime tests if applicable

Real and raw (direct inheritance) hierarchies differ because of implicit ambiguities caused by inheritance: https://typelevel.org/blog/2016/09/30/subtype-typeclasses.html However, since Scala 3.7, the ambiguity problem has been resolved on Scala 3 using inverted given prioritization: https://contributors.scala-lang.org/t/joining-the-dots-on-recent-implicit-prioritization-changes-and-some-scala-history/6814/3 So, when or if we drop support for Scala 2, we can revisit the design, remove InnerF pattern and make real and raw hierarchy match.

Members list

Type members

Classlikes

trait Applicative2[F[_, _]] extends Functor2[F]

Attributes

Supertypes
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Guarantee2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
Show all
trait ApplicativeError2[F[_, _]] extends Guarantee2[F], Bifunctor2[F]

Attributes

Supertypes
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
trait Async2[F[_, _]] extends Concurrent2[F], WeakAsync2[F]

Attributes

Supertypes
trait WeakAsync2[F]
trait IO2[F]
trait Panic2[F]
trait Bracket2[F]
trait Error2[F]
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait Concurrent2[F]
trait Parallel2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Bifunctor2[F[_, _]] extends RootBifunctor[F]

Attributes

Supertypes
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BlockingIO2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Bracket2[F[_, _]] extends Error2[F]

Attributes

Supertypes
trait Error2[F]
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all

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)
 }

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes
object catz

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes
object catz

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Clock1[F[_]] extends DivergenceHelper

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Constant
object Standard

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Clock1.type
object Clock2

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Clock2.type
object Clock3

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Clock3.type
trait Concurrent2[F[_, _]] extends Parallel2[F], ParallelErrorAccumulatingOps2[F]

Attributes

Supertypes
trait Parallel2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BlockingIO2[F]
class BlockingZio[R]
object BlockingZio
trait Clock1[F]
class Constant
object Standard
trait Entropy1[F]
trait ScalaEntropy
object Standard
trait Root
trait RootBifunctor[F]
trait Bifunctor2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Fork2[F]
class ForkZio[R]
object ForkZio
trait Functor2[F]
trait Applicative2[F]
trait Guarantee2[F]
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Parallel2[F]
trait Concurrent2[F]
trait WeakTemporal2[F]
trait Temporal2[F]
trait SyncSafe1[F]
Show all

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Entropy1[F[_]] extends DivergenceHelper

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ScalaEntropy
object Standard

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Entropy1.type
object Entropy2

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Entropy2.type
object Entropy3

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Entropy3.type
trait Error2[F[_, _]] extends ApplicativeError2[F], Monad2[F], ErrorAccumulatingOps2[F]

Attributes

Supertypes
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
trait ErrorAccumulatingOps2[F[_, _]]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
Self type
Error2[F]
object Exit

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Exit.type
sealed trait Exit[+E, +A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Failure[E]
class Error[E]
class Termination
class Interruption
trait Uninterrupted[E, A]
class Success[A]
Show all
object Fiber2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Fiber2.type
trait Fiber2[+F[_, _], +E, +A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
trait FiberLocal2[F[_, _], A]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait FiberRef2[F, A]
trait FiberRef2[F[_, _], A] extends FiberLocal2[F, A]

Attributes

Companion
object
Supertypes
trait FiberLocal2[F, A]
class Object
trait Matchable
class Any
object FiberRef2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
FiberRef2.type
trait Fork2[F[_, _]] extends RootBifunctor[F]

Attributes

Supertypes
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class ForkZio[R]
object ForkZio

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait Functor2[F[_, _]] extends RootBifunctor[F]

Attributes

Supertypes
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Applicative2[F]
trait Guarantee2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
Show all
trait Guarantee2[F[_, _]] extends Applicative2[F]

Attributes

Supertypes
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
trait IO2[F[_, _]] extends Panic2[F]

Attributes

Supertypes
trait Panic2[F]
trait Bracket2[F]
trait Error2[F]
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Clock1

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Entropy1

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ForkInstances

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object SyncSafe1

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Monad2[F[_, _]] extends Applicative2[F]

Attributes

Supertypes
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
trait Mutex2[F[_, _]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Mutex2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Mutex2.type
trait Panic2[F[_, _]] extends Bracket2[F]

Attributes

Supertypes
trait Bracket2[F]
trait Error2[F]
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
object PanicSyntax

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait Parallel2[F[_, _]] extends RootBifunctor[F]

Attributes

Supertypes
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Concurrent2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait WeakAsync2[F]
Show all
trait ParallelErrorAccumulatingOps2[F[_, _]] extends Parallel2[F]

Attributes

Supertypes
trait Parallel2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Concurrent2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Scheduler2[F]
class SchedulerImpl[F]
trait BlockingIO2[F]
class BlockingZio[R]
object BlockingZio
trait Root
trait RootBifunctor[F]
trait Bifunctor2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Fork2[F]
class ForkZio[R]
object ForkZio
trait Functor2[F]
trait Applicative2[F]
trait Guarantee2[F]
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Parallel2[F]
trait Concurrent2[F]
trait WeakTemporal2[F]
trait Temporal2[F]
Show all

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Primitives2[F[_, _]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Primitives2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait PrimitivesLocal2[F[_, _]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object PrimitivesM2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait PrimitivesM2[F[_, _]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Promise2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Promise2.type
trait Promise2[+F[_, _], E, A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Ref1

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Ref1.type
trait Ref1[+F[_], A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object RefM2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
RefM2.type
trait RefM2[F[_, _], A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait RootBifunctor[F]
trait Bifunctor2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Fork2[F]
class ForkZio[R]
object ForkZio
trait Functor2[F]
trait Applicative2[F]
trait Guarantee2[F]
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Parallel2[F]
trait Concurrent2[F]
trait WeakTemporal2[F]
trait Temporal2[F]
Show all
trait RootBifunctor[F[_, _]] extends Root

Attributes

Supertypes
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Bifunctor2[F]
trait Error2[F]
class Error2Instance[S]
class BioEither
object BioEither
trait Bracket2[F]
trait Panic2[F]
class Panic2Instance[S]
trait IO2[F]
trait WeakAsync2[F]
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
trait Fork2[F]
class ForkZio[R]
object ForkZio
trait Functor2[F]
trait Applicative2[F]
trait Guarantee2[F]
trait Monad2[F]
class Monad2Instance[S]
class BioIdentity2
object BioIdentity2
trait Parallel2[F]
trait Concurrent2[F]
trait WeakTemporal2[F]
trait Temporal2[F]
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Semaphore1[+F[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Semaphore1

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Semaphore1.type

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
SyncSafe1.type
trait SyncSafe1[F[_]] extends DivergenceHelper

Import exception-safe side effects

Import exception-safe side effects

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object SyncSafe2

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
SyncSafe2.type
object SyncSafe3

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
SyncSafe3.type
trait Temporal2[F[_, _]] extends WeakTemporal2[F]

Attributes

Supertypes
trait WeakTemporal2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
class TemporalZio[R]
object TemporalZio

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TransZio

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
TransZio.type
final case class TypedError[+A](prefixMessage: String, error: A) extends RuntimeException

Attributes

Companion
object
Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object TypedError

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
TypedError.type
trait UnsafeRun2[F[_, _]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object UnsafeRun2

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
UnsafeRun2.type
trait WeakAsync2[F[_, _]] extends IO2[F], Parallel2[F]

Parallel operations combined with basic async capabilities.

Parallel operations combined with basic async capabilities.

This typeclass provides parallel execution (Parallel2) along with the ability to integrate asynchronous callback-based APIs and Scala Futures, but without requiring the full error handling hierarchy of IO2 and Panic2.

Attributes

See also

Async2 for full async capabilities including cancelation and execution context control

Supertypes
trait Parallel2[F]
trait IO2[F]
trait Panic2[F]
trait Bracket2[F]
trait Error2[F]
trait Monad2[F]
trait Bifunctor2[F]
trait Guarantee2[F]
trait Applicative2[F]
trait Functor2[F]
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Async2[F]
class AsyncZio[R]
object AsyncZio
class TemporalZio[R]
object TemporalZio
Show all
trait WeakTemporal2[F[_, _]] extends RootBifunctor[F]

Attributes

Supertypes
trait RootBifunctor[F]
trait Root
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Temporal2[F]
class TemporalZio[R]
object TemporalZio
trait WithFilter[+E]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Show all
Self type
WithFilter.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object WithFilter

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait WithFilterInstances3

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
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)
 }

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
Self type
catz.type

Types

type Clock2[F[_, _]] = Clock1[[_] =>> F[Nothing, _$29]]
type Clock3[F[_, _, _]] = Clock1[[_] =>> F[Any, Nothing, _$35]]
type Entropy2[F[_, _]] = Entropy1[[_] =>> F[Nothing, _$41]]
type Entropy3[F[_, _, _]] = Entropy1[[_] =>> F[Any, Nothing, _$47]]
type Latch2[+F[_, _]] = Promise2[F, Nothing, Unit]
type Ref2[+F[_, _], A] = Ref1[[_] =>> F[Nothing, _$9], A]
type Semaphore2[+F[_, _]] = Semaphore1[[_] =>> F[Nothing, _$14]]
type SyncSafe2[F[_, _]] = SyncSafe1[[_] =>> F[Nothing, _$17]]
type SyncSafe3[F[_, _, _]] = SyncSafe1[[_] =>> F[Any, Nothing, _$23]]
type TransZio[F[_, _]] = Isomorphism2[F, IO]

Value members

Concrete methods

final override def F[F[_, _]](implicit F: Functor2[F]): F.type

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

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

 import izumi.functional.bio.{F, Temporal2}

 def y[F[+_, +_]: Temporal2] = {
   F.timeout(5.seconds)(F.unit)
 }

Attributes

Definition Classes

Inherited methods

final def Applicative2[F[_, _] : Applicative2]: Applicative2[F]

Attributes

Inherited from:
ImplicitPunsApplicative

Attributes

Inherited from:
ImplicitPunsApplicativeError
final def Async2[F[_, _] : Async2]: Async2[F]

Attributes

Inherited from:
ImplicitPunsAsync
final def Bifunctor2[F[_, _] : Bifunctor2]: Bifunctor2[F]

Attributes

Inherited from:
ImplicitPunsBifunctor
final def Bracket2[F[_, _] : Bracket2]: Bracket2[F]

Attributes

Inherited from:
ImplicitPunsBracket
final def Concurrent2[F[_, _] : Concurrent2]: Concurrent2[F]

Attributes

Inherited from:
ImplicitPunsConcurrent
final def Error2[F[_, _] : Error2]: Error2[F]

Attributes

Inherited from:
ImplicitPunsError
final def Fork2[F[_, _] : Fork2]: Fork2[F]

Attributes

Inherited from:
ImplicitPunsFork
final def Functor2[F[_, _] : Functor2]: Functor2[F]

Attributes

Inherited from:
ImplicitPunsFunctor
final def Guarantee2[F[_, _] : Guarantee2]: Guarantee2[F]

Attributes

Inherited from:
ImplicitPunsGuarantee
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!"))

Attributes

Inherited from:
ImplicitPunsIO
final def Monad2[F[_, _] : Monad2]: Monad2[F]

Attributes

Inherited from:
ImplicitPunsMonad
final def Panic2[F[_, _] : Panic2]: Panic2[F]

Attributes

Inherited from:
ImplicitPunsPanic
final def Parallel2[F[_, _] : Parallel2]: Parallel2[F]

Attributes

Inherited from:
ImplicitPunsParallel
final def Temporal2[F[_, _] : Temporal2]: Temporal2[F]

Attributes

Inherited from:
ImplicitPunsTemporal
final def WeakAsync2[F[_, _] : WeakAsync2]: WeakAsync2[F]

Attributes

Inherited from:
ImplicitPunsWeakAsync
final def WeakTemporal2[F[_, _] : WeakTemporal2]: WeakTemporal2[F]

Attributes

Inherited from:
ImplicitPunsWeakTemporal

Concrete fields

lazy val Latch2: Promise2.type
lazy val Ref2: Ref1.type
lazy val Semaphore2: Semaphore1.type