找不到模块“Control.Parallel”
Could not find module `Control.Parallel'
我正在按照 this 指南进行操作,然后进入了“编写您的第一个并行 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
| ^^^^^^^^^^^^^^^^^^^^^^^
没有任何地方说我必须安装任何东西。尽管如此,我 运行 cabal install --lib parallel
并且安装正常,但仍然找不到软件包。当我运行ghc-pkg list
parallel
不就行了。
我该如何解决这个问题?
您可以在此处执行以下两项操作之一:
- 您可以使用 cabal 启动一个新项目,并将
parallel
添加为依赖项。为此,我会向您介绍 Cabal 的 quickstart guide.
- 或者,您可以跳过
parallel
包。在您列出的示例中,您需要导入 Control.Parallel
才能使用 par
和 pseq
。但是,这些函数也是 GHC.Conc
的一部分,后者是 base
包的一部分。因此,要让您的程序在不涉及任何包管理的情况下运行,只需将 import Control.Parallel
替换为 import GHC.Conc
,您应该会很好。
不要使用 cabal 安装或堆栈安装来管理您的依赖项。
而是使用 cabal 或堆栈文件列出所有这些包,然后使用“构建”命令将它们提取到您的项目文件夹中。
当使用 GHC 编译时,cabal 和 stack 都会为您的依赖项提供适当的标志。
或者,找出 cabal 从何处下载该源代码并将其与标志一起传递给 GHC。认为这是不必要的低水平工作。
我正在按照 this 指南进行操作,然后进入了“编写您的第一个并行 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
| ^^^^^^^^^^^^^^^^^^^^^^^
没有任何地方说我必须安装任何东西。尽管如此,我 运行 cabal install --lib parallel
并且安装正常,但仍然找不到软件包。当我运行ghc-pkg list
parallel
不就行了。
我该如何解决这个问题?
您可以在此处执行以下两项操作之一:
- 您可以使用 cabal 启动一个新项目,并将
parallel
添加为依赖项。为此,我会向您介绍 Cabal 的 quickstart guide. - 或者,您可以跳过
parallel
包。在您列出的示例中,您需要导入Control.Parallel
才能使用par
和pseq
。但是,这些函数也是GHC.Conc
的一部分,后者是base
包的一部分。因此,要让您的程序在不涉及任何包管理的情况下运行,只需将import Control.Parallel
替换为import GHC.Conc
,您应该会很好。
不要使用 cabal 安装或堆栈安装来管理您的依赖项。
而是使用 cabal 或堆栈文件列出所有这些包,然后使用“构建”命令将它们提取到您的项目文件夹中。
当使用 GHC 编译时,cabal 和 stack 都会为您的依赖项提供适当的标志。
或者,找出 cabal 从何处下载该源代码并将其与标志一起传递给 GHC。认为这是不必要的低水平工作。