Idris2Doc : System.Concurrency.Linear

System.Concurrency.Linear(source)

Definitions

fork1 : LIO () -@LIOThreadID
  Run a linear computation in a separate thread

Visibility: export
concurrently : LIOa-@L1IO (LIOa)
  Run a computation concurrently to the current thread.
This returns a receiver for the value.

Visibility: export
concurrently1 : L1IOa-@L1IO (L1IOa)
  Run a computation concurrently to the current thread.
This returns a receiver for the value. A typical usage
pattern is showcased by the implementation of `par1`:
in a do block start executing a series of actions
concurrently and then collect the results with a series
of receiving steps.

do recva <- concurrently1 ioa
recvb <- concurrently1 iob
a <- recva
b <- recvb
pure1 (a # b)

Visibility: export
par1 : L1IOa-@ (L1IOb-@L1IO (LPairab))
  Run two linear computations concurrently and return the results.

Visibility: export
par : LIOa-@ (LIOb-@LIO (a, b))
  Run two unrestricted computations in parallel and return the results.

Visibility: export