Сборщик мусора OCaml накладывает глобальную блокировку, которая предотвращает параллельный запуск мутаторов (потоков), хотя они могут выполняться одновременно (с чередованием). Я считаю, что то же самое верно для SML/NJ и MLton, но не для PolyML, GHC, F#, Clojure и Scala.
Какие другие реализации функциональных языков позволяют потокам работать параллельно?