找不到模块“Control.Parallel”

tdr*_*anv 4 haskell ghc

我按照指南进行操作,并进入“编写您的第一个并行 Haskell 程序”,您可以在其中使用Control.Parallel. 当我尝试编译它时,我得到:

    A.hs:1:1: error:
    Could not find module `Control.Parallel'
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
1 | import Control.Parallel
  | ^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

没有任何地方说我必须安装任何东西。尽管如此,我运行cabal install --lib parallel并安装正常,但仍然找不到该包。我跑的时候ghc-pkg list parallel不就行了。

我该如何解决这个问题?

小智 6

您可以在此处执行以下两件事之一:

  1. 您可以使用 cabal 启动一个新项目,并添加parallel为依赖项。为此,我将向您推荐 Cabal 的快速入门指南
  2. 或者,您可以跳过该parallel包。在您列出的示例中,您需要导入Control.Parallel才能使用parpseq。然而,这些函数也是 的一部分GHC.Conc,而 是base包的一部分。因此,要让您的程序在不涉及任何包管理的情况下运行,只需替换import Control.Parallelimport GHC.Conc,您应该就可以了。

  • 可能值得一提的是,您可以使用 [Stack](https://docs.haskellstack.org/en/stable/README/) 以及 Cabal 来添加依赖项。 (2认同)