Il GC OCaml impone un blocco globale che impedisce ai mutatori (thread) di essere eseguiti in parallelo sebbene possano essere eseguiti contemporaneamente (interleaved). Credo che lo stesso valga per SML/NJ e MLton ma non per PolyML, GHC, F #, Clojure e Scala.Quali implementazioni del linguaggio funzionale consentono ai thread di funzionare in parallelo?
Quali altre implementazioni del linguaggio funzionale consentono ai thread di funzionare in parallelo?
Data Parallel Haskell è ancora abbastanza sperimentale, ma il supporto per il thread parallelo nel primo collegamento è molto più maturo. DPH è implementato con thread paralleli, non viceversa. –
Grazie per aver chiarito che –