【问题标题】:Control.Parallel compile issue in HaskellHaskell 中的 Control.Parallel 编译问题
【发布时间】:2012-03-23 11:17:06
【问题描述】:

编译器每次都抱怨并行 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

干杯

【问题讨论】:

  • 官方Haskell in 5 Steps tutorial使用paralell包。我想知道为什么他们没有提到需要安装它的任何内容?!你的问题帮助我解决了那里的困惑,所以谢谢你的提问。

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


【解决方案1】:

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

cabal install parallel # note: not sudo cabal install parallel!

在您的命令提示符处。

【讨论】:

  • 你能解释一下月亮是怎么来的吗? =) cabal 成功了,谢谢!
  • @gorn 在地球早期历史的某个时刻,一颗比火星还大的流氓行星猛烈撞击地球。瞬间,大部分流氓身体和相当大的地球块被蒸发了。云上升到超过 13,700 英里(22,000 公里)的高度,在那里它凝结成无数的固体粒子,随着它们聚集成越来越大的小卫星,它们最终结合形成月球。 source =)
【解决方案2】:

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

在尝试了 Daniel 的回答后,我仍然无法做到 import Control.Parallel,无论是来自 ghci,还是使用编译器。 install 命令返回如下警告消息:

➜  ~ 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.

最终解决问题的是:

cabal install --lib parallel

【讨论】:

    【解决方案3】:

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

    请注意,至少在 Fedora 存储库中,您需要 ghc-parallel-devel,而不仅仅是 ghc-parallel 来构建。

    #yum install ghc-parallel-devel
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多