Il Thread module nella libreria standard fornisce primitive di concorrenza ed è stato aro e per un bel po '. Esistono anche third parte libraries che forniscono API di concorrenza di livello superiore/diverso.
Ma sembra che tu sia conflating concurrency and parallelism.
OCaml ovviamente non interferisce con il parallelismo. Puoi eseguire OCaml su migliaia o milioni di macchine contemporaneamente. Esistono anche MPI bindings per semplificare la programmazione per i supercomputer massivamente paralleli. Ma l'attuale implementazione di riferimento OCaml non parallelizza automaticamente i programmi concorrenti, che penso sia quello che ti interessa di più.
Potresti essere interessato a Multicore OCaml che fornisce un supporto migliore per il parallelismo della memoria condivisa, come i computer SMP sono diventati abbastanza prevalente negli ultimi vent'anni e sarebbe davvero bello ottimizzarne più facilmente. Sembrano fare progressi lenti ma costanti e cercano di farlo bene.
Non sono pronto a scavare negli archivi proprio ora, ma sono sicuro che ci sono stati più recenti thread in cui sono stati espressi sentimenti simili. INRIA è focalizzato sul supporto del linguaggio OCaml così com'è, non spingendo avanti con grandi nuove funzionalità come LWP o un runtime simultaneo. Non è in parte il punto di HLVM di Jon Harrop? –
ocaml4multicore è disponibile (con limitazioni), vedere: http: //www.algo-prog.info/ocmc/web/ – nlucaroni
Vale la pena notare: ciò che M. Leroy ha consegnato quella lezione alla lista OCaml nel 2002, è stato il caso che le macchine SMP non erano così comuni come lo sono oggi. Tuttavia, resta da vedere se aggiungere il parallelismo della memoria condivisa al runtime di OCaml sia un vantaggio rispetto all'approccio più tradizionale all'ottimizzazione per i sistemi SMP: fork/exec e la comunicazione tra processi. Sembra che l'INRIA abbia ancora fatto annunci che la sua mente collettiva sia cambiata. –