Haskell中的Control.Parallel编译问题

时间:2012-03-05 23:48:18

标签: haskell functional-programming compiler-errors parallel-processing ghc

编译器每次都在抱怨并行Haskell的不同示例应用程序;有了这条消息:

Could not find module `Control.Parallel.Strategies'

ghc编译器命令:

ghc -threaded -i/sudo/dir/par-modules/3 -cpp -DEVAL_STRATEGIES -eventlog --make parFib.hs

与简单相同

ghc -O2 --make -threaded parFib.hs

我可以忽略哪些细节?我错过了一些PATH变量。

进口可能如下所示:

module Main where
import System
#  if defined(EVAL_STRATEGIES)
import Control.Parallel
import Control.Parallel.Strategies
#endif

干杯

3 个答案:

答案 0 :(得分:17)

您必须从Hackage安装parallel软件包。在大多数理智的设置中,这应该像键入

一样简单
cabal install parallel # note: not sudo cabal install parallel!

在您的命令提示符下。

答案 1 :(得分:1)

像丹尼尔说的那样,你需要并行包。但是,如果您更喜欢使用系统的包管理器(有些人认为您should),您可以。

请注意,至少在Fedora repos中,你需要ghc-parallel-devel,而不仅仅是ghc-parallel来构建。

#yum install ghc-parallel-devel

答案 2 :(得分:0)

出于可见度原因,我要添加一个新答案(而不是评论)。

尝试了Daniel的答案后,无论是print(data.iloc[0]["Type"].count("+")) print(len(data.iloc[0]["Thing"].split(","))) 还是编译器,我仍然无法执行import Control.Parallel。 install命令返回如下警告消息:

ghci

最终解决该问题的是:

➜  ~ cabal install parallel
Resolving dependencies...
Up to date
Warning: You asked to install executables, but there are no executables in
target: parallel. Perhaps you want to use --lib to install libraries instead.