Windows上的多核Haskell

cbr*_*lak 5 parallel-processing multithreading haskell multicore

我一直在阅读有关 Haskell 的一些教程 .但是,我无法让已编译的应用程序在Windows(32位)上运行多核(我有一个Intel四核).

我尝试过很多东西:

但没有运气.

已编译的应用程序仅在一个核心上运行100%.

有任何想法吗?

码:

import Control.Parallel
import Control.Monad
import Text.Printf

fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = l `pseq` r `pseq` l+r
    where
    l = fib (n-1)
    r = fib (n-2)

main = forM_ [0..350] $ \i ->
        printf "n=%d => %d\n" i (fib i)
Run Code Online (Sandbox Code Playgroud)

vil*_*ili 6

使用par而不是pseq似乎可以解决它.


Mar*_*usQ 5

如果vili是正确的(我无法测试,因为我没有任何MS盒子),它可能与此错误有关