arrow-fx / arrow.fx.typeclasses / MonadDefer

MonadDefer

interface ~~MonadDefer~~<F> : MonadThrow<F>, Bracket<F, Throwable> Deprecated: The IO datatype and it’s related type classes will disappear in Arrow 0.13.0. All useful operations are offered directly over suspend functions by Arrow Fx Coroutines. https://arrow-kt.io/docs/fx/async/

The context required to defer evaluating a safe computation.

Functions

defer abstract fun <A> defer(fa: () -> Kind<F, A>): Kind<F, A>
later open fun <A> later(f: () -> A): Kind<F, A>
open fun <A> later(fa: Kind<F, A>): Kind<F, A>
laterOrRaise open fun <A> laterOrRaise(f: () -> Either<Throwable, A>): Kind<F, A>
lazy open fun lazy(): Kind<F, Unit>
Ref Create a Ref a pure atomic reference to safely manage mutable state. It’s a pure version of java.util.concurrent.atomic.AtomicReference that works in context F.open fun <A> Ref(a: A): Kind<F, Ref<F, A>>

Inheritors

Async Async models how a data type runs an asynchronous computation that may fail. Defined by the Proc signature, which is the consumption of a callback.interface ~~Async~~<F> : MonadDefer<F>
IOMonadDefer interface ~~IOMonadDefer~~ : MonadDefer<ForIO>, IOBracket

Do you like Arrow?

Arrow Org
<