Module InferModules.Tasks

type 'a doer = 'a -> unit
type 'a task_generator = 'a InferBase.ProcessPool.task_generator
val gen_of_list : 'a list -> 'a task_generator
val run_sequentially : f:'a doer -> 'a list -> unit

Run the tasks sequentially

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

A runner accepts new tasks repeatedly for parallel execution