[英]How to install and import a library in haskell?
import Control.Parallel
然后我用ghc编译:
ghc parallel.hs -o parallel -O2 --make -threaded -rtsopts
就像教程告诉我的那样。 (我的文件名是parallel.hs)但是我得到了:
parallel.hs:1:1: error:
Could not find module ‘Control.Parallel’
Use -v to see a list of the files searched for.
|
1 | import Control.Parallel
| ^^^^^^^^^^^^^^^^^^^^^^^
然后我用stackoverflowed它,找到这个问题 。 所以我:
cabal new-install parallel --lib
得到:
Resolving dependencies...
Up to date
然后我再次编译它,但是遇到了同样的错误。 如何解决呢? 我是否错过任何命令行参数?
好了,在cabal install parallel
,库被导入,程序成功编译,并按预期运行。
我将参考cabal的文档,了解install
和new-install
之间的区别
正如@Lorenzo指出的那样, cabal install
工作正常。 使用cabal new-install
您应该已经看到警告,您忘记了--lib
因为parallel
不包含可执行文件,并且必须通过--lib
显式安装库。 完整的功能命令集是:
cd $(mktemp -d)
cabal update && cabal new-install --lib parallel
cat <<EOF > parallel.hs
module P where
import Control.Parallel
EOF
ghc -c parallel.hs
ls parallel.o parallel.hi
产量:
% cd $(mktemp -d)
% cabal update && cabal new-install --lib parallel
... snipped output ...
% cat <<EOF > parallel.hs
module P where
import Control.Parallel
EOF
% ghc -c parallel.hs
Loaded package environment from /home/tommd/.ghc/x86_64-linux-8.6.4/environments/default
% ls parallel.o parallel.hi
parallel.hi parallel.o
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.