Packages

trait QuasiIO[F[_]] extends QuasiApplicative[F]

Evidence that F is _almost_ IO-monad-like capabilities, but not quite, because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for which maybeSuspend does not in fact suspend!

If you use this interface and forget to add manual suspension with by-name's and Function1's, you're going to get weird behavior for Identity instance.

This interface serves internal need of distage for interoperability with all the existing Scala effect types and also impure Identity, you should NOT refer to it in your code if possible, it 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. Better use izumi.functional.bio or cats typeclasses for application logic.

See also

izumi.distage.modules.DefaultModule - DefaultModule makes instances of QuasiIO for cats-effect, ZIO, monix, monix-bio, Identity, and others, available for summoning in your wiring automatically

Linear Supertypes
QuasiApplicative[F], QuasiFunctor[F], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QuasiIO
  2. QuasiApplicative
  3. QuasiFunctor
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def bracket[A, B](acquire: => F[A])(release: (A) => F[Unit])(use: (A) => F[B]): F[B]
  2. abstract def bracketCase[A, B](acquire: => F[A])(release: (A, Option[Throwable]) => F[Unit])(use: (A) => F[B]): F[B]
  3. abstract def definitelyRecover[A](action: => F[A])(recover: (Throwable) => F[A]): F[A]

    A stronger version of handleErrorWith, the difference is that this will _also_ intercept Throwable defects in ZIO, not only typed errors

  4. abstract def definitelyRecoverCause[A](action: => F[A])(recoverCause: (Throwable, () => Throwable) => F[A]): F[A]

    definitelyRecover, but the second argument is a callback that when called, will return another Throwable, possible enhanced with the effect's own debugging information.

    definitelyRecover, but the second argument is a callback that when called, will return another Throwable, possible enhanced with the effect's own debugging information.

    Note

    the callback may perform side-effects to the original Throwable argument on the left, the left throwable should be DISCARDED after calling the callback. (e.g. in case of ZIO, the callback will mutate the throwable and attach a ZIO Trace to it.)

  5. abstract def fail[A](t: => Throwable): F[A]
  6. abstract def flatMap[A, B](fa: F[A])(f: (A) => F[B]): F[B]
  7. abstract def map[A, B](fa: F[A])(f: (A) => B): F[B]
    Definition Classes
    QuasiFunctor
  8. abstract def map2[A, B, C](fa: F[A], fb: => F[B])(f: (A, B) => C): F[C]
    Definition Classes
    QuasiApplicative
  9. abstract def maybeSuspend[A](eff: => A): F[A]

    A weaker version of delay.

    A weaker version of delay. Does not guarantee _actual_ suspension of side-effects, because QuasiIO[Identity] is allowed

  10. abstract def maybeSuspendEither[A](eff: => Either[Throwable, A]): F[A]
  11. abstract def pure[A](a: A): F[A]
    Definition Classes
    QuasiApplicative
  12. abstract def redeem[A, B](action: => F[A])(failure: (Throwable) => F[B], success: (A) => F[B]): F[B]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. final def bracketAuto[A <: AutoCloseable, B](acquire: => F[A])(use: (A) => F[B]): F[B]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def guarantee[A](fa: => F[A])(finally: => F[Unit]): F[A]
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def ifThenElse[A](cond: Boolean)(ifTrue: => F[A], ifFalse: => F[A]): F[A]
    Definition Classes
    QuasiApplicative
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def suspendF[A](effAction: => F[A]): F[A]
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. def traverse[A, B](l: Iterable[A])(f: (A) => F[B]): F[List[B]]
    Definition Classes
    QuasiIOQuasiApplicative
  21. def traverse_[A](l: Iterable[A])(f: (A) => F[Unit]): F[Unit]
    Definition Classes
    QuasiIOQuasiApplicative
  22. final val unit: F[Unit]
    Definition Classes
    QuasiApplicative
  23. final def unless(cond: Boolean)(ifFalse: => F[Unit]): F[Unit]
    Definition Classes
    QuasiApplicative
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def when(cond: Boolean)(ifTrue: => F[Unit]): F[Unit]
    Definition Classes
    QuasiApplicative
  28. final def widen[A, B >: A](fa: F[A]): F[B]
    Definition Classes
    QuasiFunctor

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from QuasiApplicative[F]

Inherited from QuasiFunctor[F]

Inherited from AnyRef

Inherited from Any

Ungrouped