Module InferModules.Tasks

type t

A sequence of tasks that can be executed in parallel, with a continuation to be executed at the end

type closure = unit ‑> unit

Each task/continuation executes a closure

val aggregate : size:int ‑> t ‑> t
val create : ?⁠continuation:closure option ‑> closure list ‑> t

Create tasks with a list of closures to be executed in parallel, and an optional continuation to be executed afterwards

val run : t ‑> unit

Run the closures and continuation

val fork_protect : f:('a ‑> 'b) ‑> 'a ‑> 'b

does the bookkeeping necessary to safely execute an infer function f after a call to fork(2)

module Runner : sig ... end