问题描述
我在 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> -- ^_^