Idris2Doc : IO.Async.Fiber

IO.Async.Fiber

(source)

Definitions

recordExecutionContext : Type
  A context for submitting and running commands asynchronously.

Totality: total
Visibility: public export
Constructor: 
EC : TokenGen-> (IO () ->IO ()) ->Nat->ExecutionContext

Projections:
.limit : ExecutionContext->Nat
.submit : ExecutionContext->IO () ->IO ()
.tokenGen : ExecutionContext->TokenGen

Hint: 
ExecutionContext=>TokenGen
.tokenGen : ExecutionContext->TokenGen
Totality: total
Visibility: public export
tokenGen : ExecutionContext->TokenGen
Totality: total
Visibility: public export
.submit : ExecutionContext->IO () ->IO ()
Totality: total
Visibility: public export
submit : ExecutionContext->IO () ->IO ()
Totality: total
Visibility: public export
.limit : ExecutionContext->Nat
Totality: total
Visibility: public export
limit : ExecutionContext->Nat
Totality: total
Visibility: public export
ecToTokenGen : ExecutionContext=>TokenGen
Totality: total
Visibility: export
recordFiber : ListType->Type->Type
  A fiber is a synchronous (sequential) computation producing
an outcome of type `Outcome es a` eventually.

We can register a callback at a fiber to get informed about its
termination, and we can externally interrupt a running fiber
by canceling it.

Totality: total
Visibility: public export
Constructor: 
MkFiber : Token-> (Token-> (Outcomeesa->IO ()) ->IO ()) -> (Token->IO ()) ->IO () ->Fiberesa

Projections:
.cancel : Fiberesa->IO ()
.observe : Fiberesa->Token-> (Outcomeesa->IO ()) ->IO ()
.stopObserving : Fiberesa->Token->IO ()
.token : Fiberesa->Token
.token : Fiberesa->Token
Totality: total
Visibility: public export
token : Fiberesa->Token
Totality: total
Visibility: public export
.observe : Fiberesa->Token-> (Outcomeesa->IO ()) ->IO ()
Totality: total
Visibility: public export
observe : Fiberesa->Token-> (Outcomeesa->IO ()) ->IO ()
Totality: total
Visibility: public export
.stopObserving : Fiberesa->Token->IO ()
Totality: total
Visibility: public export
stopObserving : Fiberesa->Token->IO ()
Totality: total
Visibility: public export
.cancel : Fiberesa->IO ()
Totality: total
Visibility: public export
cancel : Fiberesa->IO ()
Totality: total
Visibility: public export
dataAsync : ListType->Type->Type
  `Async es a` is a monad for describing asynchronous computations
producing a result of type `Outcome es a` eventually.

Totality: total
Visibility: export
Constructors:
Term : Outcomeesa->Asyncesa
Sync : Cancelability->IO (Resultesa) ->Asyncesa
Start : Cancelability->Asyncesa->Asyncfs (Fiberesa)
Shift : ExecutionContext->Asynces ()
Self : AsyncesToken
Cancel : Asynces ()
GetEC : AsyncesExecutionContext
Asnc : Cancelability-> ((Outcomeesa->IO ()) ->IO (Maybe (Async [] ()))) ->Asyncesa
Bind : Cancelability->Asyncesa-> (Outcomeesa->Asyncfsb) ->Asyncfsb

Hints:
Applicative (Asynces)
Functor (Asynces)
HasIO (Asynces)
Monad (Asynces)
succeed : a->Asyncesa
Totality: total
Visibility: export
sync : IO (Resultesa) ->Asyncesa
Totality: total
Visibility: export
uncancelable : Asyncfsa->Asyncfsa
Totality: total
Visibility: export
cancelable : Asyncfsa->Asyncfsa
Totality: total
Visibility: export
strictCancelable : Asyncfsa->Asyncfsa
Totality: total
Visibility: export
canceled : Asynces ()
Totality: total
Visibility: export
self : AsyncesToken
  Returns the unique token of the currently running fiber.

Totality: total
Visibility: export
cancelableAsync : ((Outcomeesa->IO ()) ->IO (Async [] ())) ->Asyncesa
Totality: total
Visibility: export
async : ((Outcomeesa->IO ()) ->IO ()) ->Asyncesa
Totality: total
Visibility: export
join : Fiberesa->Asyncfs (Outcomeesa)
Totality: total
Visibility: export
joinResult : Fiberesa->Asyncesa
Totality: total
Visibility: export
cancel : Fiberesa->Asyncfs ()
Totality: total
Visibility: export
start : Asyncesa->Asyncfs (Fiberesa)
  Runs an asynchronous computation in the background on a new fiber.

The resulting fiber can be canceled from the current fiber, and
we can semantically block the current fiber to wait for the background
computation to complete.

See also `cancel` and `join`.

Totality: total
Visibility: export
background : Asyncesa->Asyncfs ()
  Asynchronously runs a computation on a new fiber.

While we can no longer observe the computation's result, it will still
be canceled if the current fiber terminates.

Totality: total
Visibility: export
fail : HSumes->Asyncesa
Totality: total
Visibility: export
throw : Hasees=>e->Asyncesa
Totality: total
Visibility: export
injectEither : Hasees=>Eitherea->Asyncesa
  Inject an `Either e a` computation into an `Async` monad dealing
with several possible errors.

Totality: total
Visibility: export
injectIO : Hasees=>IO (Eitherea) ->Asyncesa
  Inject an `IO (Either e a)` computation into an `Async` monad dealing
with several possible errors.

Totality: total
Visibility: export
handleErrors : (HSumes->Asyncfsa) ->Asyncesa->Asyncfsa
Totality: total
Visibility: export
mapErrors : (HSumes->HSumfs) ->Asyncesa->Asyncfsa
Totality: total
Visibility: export
weakenErrors : Async [] a->Asyncfsa
Totality: total
Visibility: export
dropErrs : Asynces () ->Async [] ()
Totality: total
Visibility: export
0Handler : Type->Type->Type
Totality: total
Visibility: public export
handle : All (Handlera) es->Asyncesa->Async [] a
Totality: total
Visibility: export
liftErrors : Asyncesa->Asyncfs (Resultesa)
Totality: total
Visibility: export
liftError : Async [e] a->Asyncfs (Eitherea)
Totality: total
Visibility: export
guaranteeCase : Asyncesa-> (Outcomeesa->Async [] ()) ->Asyncesa
Totality: total
Visibility: export
onCancel : Asyncesa->Async [] () ->Asyncesa
Totality: total
Visibility: export
onAbort : Asyncesa->Async [] () ->Asyncesa
  Guarantees to run the given cleanup hook in case a fiber
has been canceled or failed with an error.

See `guarantee` for additional information.

Totality: total
Visibility: export
finally : Asyncesa->Async [] () ->Asyncesa
  Guarantees to run the given cleanup hook in case
the given computation finishes with an outcome.

See `guarantee` for additional information.

Totality: total
Visibility: export
forget : Asyncesa->Async [] ()
Totality: total
Visibility: export
consume : Asyncesa-> (Outcomeesa->IO ()) ->Async [] ()
Totality: total
Visibility: export
bracketCase : Asyncesa-> (a->Asyncesb) -> ((a, Outcomeesb) ->Async [] ()) ->Asyncesb
Totality: total
Visibility: export
bracket : Asyncesa-> (a->Asyncesb) -> (a->Async [] ()) ->Asyncesb
Totality: total
Visibility: export
raceF : List (Asynces (Fiberesa)) ->Asyncesa
  Semantically blocks the current fiber until one
of the given fibers has produced an outcome, in which
the others are canceled immediately.

This is useful if you for instance have several abort conditions
such as a timer and a signal from the operating system, and want
to stop your process as soon as the first of the conditions
occurs.

Totality: total
Visibility: export
race : List (Asyncesa) ->Asyncesa
  Alias for `raceF . traverse start`.

Totality: total
Visibility: export
raceAny : All (Asynces) ts->Asynces (HSumts)
  Runs a heterogeneous list of asynchronous computations in parallel,
keeping only the one that finishes first.

Totality: total
Visibility: export
parF : All (Asynces.Fiberes) ts->Asynces (HListts)
  Accumulates the results of the given heterogeneous list of
fibers in a heterogeneous list.

Totality: total
Visibility: export
par : All (Asynces) ts->Asynces (HListts)
  Runs the given computations in parallel and collects the outcomes
in a heterogeneous list.

Totality: total
Visibility: export
runAsyncWith : ExecutionContext=>Asyncesa-> (Outcomeesa->IO ()) ->IO ()
Visibility: export
runAsync : ExecutionContext=>Asyncesa->IO ()
Visibility: export