package effect
- Alphabetic
- By Inheritance
- effect
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait QuasiApplicative[F[_]] extends QuasiFunctor[F]
An
Applicativecapability forF.An
Applicativecapability forF. UnlikeQuasiIOthere's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.
- type QuasiApplicative2[F[_, _]] = QuasiApplicative[[β$2$]F[Throwable, β$2$]]
- type QuasiApplicative3[F[_, _, _]] = QuasiApplicative[[γ$3$]F[Any, Throwable, γ$3$]]
- trait QuasiAsync[F[_]] extends AnyRef
Parallel & async operations for
Frequired bydistage-*libraries.Parallel & async operations for
Frequired bydistage-*libraries. UnlikeQuasiIOthere's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.
- type QuasiAsync2[F[_, _]] = QuasiAsync[[β$8$]F[Throwable, β$8$]]
- type QuasiAsync3[F[_, _, _]] = QuasiAsync[[γ$9$]F[Any, Throwable, γ$9$]]
- trait QuasiFunctor[F[_]] extends AnyRef
A
Functorcapability forF.A
Functorcapability forF. UnlikeQuasiIOthere's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.
- type QuasiFunctor2[F[_, _]] = QuasiFunctor[[β$0$]F[Throwable, β$0$]]
- type QuasiFunctor3[F[_, _, _]] = QuasiFunctor[[γ$1$]F[Any, Throwable, γ$1$]]
- trait QuasiIO[F[_]] extends QuasiPrimitives[F]
Evidence that
Fis _almost_ like anIOmonad, but not quite – because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for whichmaybeSuspenddoes not actually suspend!Evidence that
Fis _almost_ like anIOmonad, but not quite – because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for whichmaybeSuspenddoes not actually suspend!If you use this interface and forget to add manual suspensions with by-name parameters everywhere, you're going to get weird behavior for Identity instance.
This interface serves internal needs of
distagefor interoperability with all existing Scala effect types and also withIdentity, you should NOT refer to it in your code if possible.This type is public because you may want to define your own instances, if a suitable instance of izumi.distage.modules.DefaultModule is missing for your custom effect type. For application logic, prefer writing against typeclasses in izumi.functional.bio or cats instead.
- See also
izumi.distage.modules.DefaultModule -
DefaultModulemakes instances ofQuasiIOfor cats-effect, ZIO, monix, monix-bio,Identityand others available for summoning in your wiring automatically
- type QuasiIO2[F[_, _]] = QuasiIO[[β$6$]F[Throwable, β$6$]]
- type QuasiIO3[F[_, _, _]] = QuasiIO[[γ$7$]F[Any, Throwable, γ$7$]]
- trait QuasiIORunner[F[_]] extends AnyRef
An
unsafeRunforF.An
unsafeRunforF. Required fordistage-frameworkapps anddistage-testkittests, but is provided automatically by izumi.distage.modules.DefaultModule for all existing Scala effect types.Unlike
QuasiIOthere's nothing 'quasi' about it – it makes sense. But named like that for consistency anyway.Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.
- type QuasiIORunner2[F[_, _]] = QuasiIORunner[[β$10$]F[Throwable, β$10$]]
- type QuasiIORunner3[F[_, _, _]] = QuasiIORunner[[γ$11$]F[Any, Throwable, γ$11$]]
- trait QuasiPrimitives[F[_]] extends QuasiApplicative[F]
Evidence that
Fsupports a subset of QuasiIO capabilities - state, non-effectful not-guaranteed suspension, and setting finalizers that can't inspect the error.Evidence that
Fsupports a subset of QuasiIO capabilities - state, non-effectful not-guaranteed suspension, and setting finalizers that can't inspect the error.Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.
- type QuasiPrimitives2[F[_, _]] = QuasiPrimitives[[β$4$]F[Throwable, β$4$]]
- type QuasiPrimitives3[F[_, _, _]] = QuasiPrimitives[[γ$5$]F[Any, Throwable, γ$5$]]
- trait QuasiRef[F[_], A] extends AnyRef
Value Members
- object QuasiApplicative extends LowPriorityQuasiApplicativeInstances
- object QuasiAsync extends LowPriorityQuasiAsyncInstances
- object QuasiFunctor extends LowPriorityQuasiFunctorInstances
- object QuasiIO extends LowPriorityQuasiIOInstances
- object QuasiIORunner extends LowPriorityQuasiIORunnerInstances
- object QuasiPrimitives extends LowPriorityQuasiPrimitivesInstances
- object QuasiRef