Suspends a synchronous side effect in SyncIO
.
Suspends a synchronous side effect in SyncIO
.
Any exceptions thrown by the effect will be caught and sequenced
into the SyncIO
.
Lifts an Eval
into SyncIO
.
Lifts an Eval
into SyncIO
.
This function will preserve the evaluation semantics of any
actions that are lifted into the pure SyncIO
. Eager Eval
instances will be converted into thunk-less SyncIO
(i.e. eager
SyncIO
), while lazy eval and memoized will be executed as such.
Lifts an Either[Throwable, A]
into the SyncIO[A]
context, raising
the throwable if it exists.
Suspends a pure value in SyncIO
.
Suspends a pure value in SyncIO
.
This should only be used if the value in question has
"already" been computed! In other words, something like
SyncIO.pure(readLine)
is most definitely not the right thing to do!
However, SyncIO.pure(42)
is correct and will be more efficient
(when evaluated) than SyncIO(42)
, due to avoiding the allocation of
extra thunks.
Constructs a SyncIO
which sequences the specified exception.
Constructs a SyncIO
which sequences the specified exception.
If this SyncIO
is run using unsafeRunSync
the exception will
be thrown. This exception can be "caught" (or rather, materialized
into value-space) using the attempt
method.
Suspends a synchronous side effect which produces a SyncIO
in SyncIO
.
Suspends a synchronous side effect which produces a SyncIO
in SyncIO
.
This is useful for trampolining (i.e. when the side effect is
conceptually the allocation of a stack frame). Any exceptions
thrown by the side effect will be caught and sequenced into the
SyncIO
.
Alias for SyncIO.pure(())
.