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
- Graph
- Supertypes
- Known subtypes
- trait QuasiPrimitives[F]trait QuasiIO[F]
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- QuasiApplicative.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
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- QuasiAsync.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
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- QuasiFunctor.type
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 -
DefaultModule
makes instances ofQuasiIO
for cats-effect, ZIO, monix, monix-bio,Identity
and 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
- Graph
- Supertypes
- trait QuasiPrimitives[F]trait QuasiApplicative[F]trait QuasiFunctor[F]class Objecttrait Matchableclass Any
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
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- QuasiIORunner.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:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- QuasiPrimitives.type
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any