如何安装`Test.QuickCheck` GHCi 找不到,导入失败

问题描述

我在 macOS 上运行堆栈/GHCi 8.4.3 版:

import Test.QuickCheck 在 GHCi 提示符和我的 .hs 文件中都失败。无论哪种方式,我都被告知找不到。 GHCi前奏>

<no location info>: error:
    Could not find module ‘Test.QuickCheck’
    It is not a module in the current program,or in any kNown package.

在 .hs 文件中 >

"Could not find module ‘Test.QuickCheck’ ' 

代码on this page 但我不确定如何手动将新包安装到堆栈中。从我在谷歌搜索“安装 Haskell 包”时的简短阅读中,它表明普遍安装一个 cabal 包是一个 bad idea。不确定这是一个 cabal 包,无论如何,能够将它导入到我认为在我的情况下的任何项目都会很好。

解决方法

为快速 ghci 会话执行此操作的现代方法是使用 cabal repl 并添加对 QuickCheck 的依赖:

% cabal repl --build-depends QuickCheck
> import Test.QuickCheck
Test.QuickCheck> -- ^_^

对于长期编程(即不仅仅是对 ghci 中的东西进行快速测试),现代方法是创建一个 cabal 包并将 QuickCheck 添加到生成的 *.cabal 中的 build-depends 部分:

% mkdir fancy-package
% cd fancy-package
% cabal init
<follow prompts>
% $EDITOR fancy-package.cabal
<find build-depends: and add,for example,QuickCheck ^>= 2.14 to the list>
% cabal repl
*Main> import Test.QuickCheck
*Main Test.QuickCheck> -- ^_^