В Thread module в стандартной библиотеке обеспечивает параллелизм примитивы , и был aro и довольно долгое время. Также есть third участник libraries, который предоставляет API-интерфейсы более высокого уровня/разных параллелизма.
Но это звучит так, как будто вы conflating concurrency and parallelism.
OCaml, конечно, не мешает параллелизму. Вы можете одновременно запускать OCaml на тысячах или миллионах компьютеров. Есть даже MPI bindings, чтобы упростить программу для массовых параллельных суперкомпьютеров. Но текущая рекомендация OCaml не будет автоматически распараллелить параллельные программы, которые, я думаю, вам больше интересны.
Возможно, вас заинтересует Multicore OCaml, который обеспечивает лучшую поддержку параллелизма с общей памятью, поскольку компьютеры SMP стали довольно распространенный за последние пару десятилетий, и было бы очень приятно их легко оптимизировать. Похоже, они делают медленный, но устойчивый прогресс и пытаются понять это правильно.
Я сейчас не готов копаться в архивах, но я уверен, что были более свежие темы, в которых были выражены подобные чувства. INRIA ориентирована на поддерживаемый язык OCaml, а не на продвижение больших новых функций, таких как LWP или параллельное время выполнения. Разве это не то, что касается ХЛВМ Йона Харропа? –
ocaml4multicore доступен (с ограничениями), см .: http: //www.algo-prog.info/ocmc/web/ – nlucaroni
Стоит отметить, что то, что М. Лерой поставил в лекцию OCaml еще в 2002 году, было так, что машины SMP были не так распространены, как сегодня. Тем не менее, еще предстоит выяснить, является ли добавление параллелизма с разделяемой памятью во время выполнения OCaml - это победа над более традиционным подходом к оптимизации для SMP-систем: fork/exec и interprocess communication. Похоже, что INRIA еще не сделала никаких заявлений о том, что коллективный ум изменился. –