izumi.functional.quasi
Members list
Type members
Classlikes
An Applicative capability for F. Unlike QuasiIO there's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.
An Applicative capability for F. Unlike QuasiIO there'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.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait QuasiPrimitives[F]trait QuasiIO[F]
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiApplicative.type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiAsync.type
Parallel & async operations for F required by distage-* libraries. Unlike QuasiIO there's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.
Parallel & async operations for F required by distage-* libraries. Unlike QuasiIO there'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.
TODO: we want to get rid of this by providing Identity implementations for Parallel3, Async3 and Temporal3 See https://github.com/7mind/izumi/issues/787
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiFunctor.type
A Functor capability for F. Unlike QuasiIO there's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.
A Functor capability for F. Unlike QuasiIO there'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.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Evidence that F is almost like an IO monad, but not quite – because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for which maybeSuspend does not actually suspend!
Evidence that F is almost like an IO monad, but not quite – because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for which maybeSuspend does 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 distage for interoperability with all existing Scala effect types and also with Identity, 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.
Attributes
- See also
-
izumi.distage.modules.DefaultModule -
DefaultModulemakes instances ofQuasiIOfor cats-effect, ZIO, monix, monix-bio,Identityand others available for summoning in your wiring automatically TODO: we want to get rid of this by providing Identity implementations for relevant BIO typeclasses See https://github.com/7mind/izumi/issues/787 - Companion
- object
- Supertypes
-
trait QuasiPrimitives[F]trait QuasiApplicative[F]trait QuasiFunctor[F]class Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiIORunner.type
An unsafeRun for F. Required for distage-framework apps and distage-testkit tests, but is provided automatically by izumi.distage.modules.DefaultModule for all existing Scala effect types.
An unsafeRun for F. Required for distage-framework apps and distage-testkit tests, but is provided automatically by izumi.distage.modules.DefaultModule for all existing Scala effect types.
Unlike QuasiIO there'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.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
- Self type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiPrimitives.type
Evidence that F supports a subset of QuasiIO capabilities - state, non-effectful not-guaranteed suspension, and setting finalizers that can't inspect the error.
Evidence that F supports 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.
Attributes
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
QuasiTemporal.type
Attributes
- Note
-
Dev note: This was split from QuasiAsync to stop distage-framework-docker runtime from depending on Temporal2 & Clock2, so that they wouldn't get memoized and the user could override them in tests without destroying memoization.
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any