我在 GHCI 中遇到一个奇怪的情况,不知道是否有人观察过类似的情况。对于某些模块,当我在-package-conf
和-i
的搜索路径中都有它时,当我尝试使用'module is not loaded: FooModule'
导入模块时,GHCI会失败。
:module
加载正常:load FooModule
,:m
清除导入列表,然后import FooModule
-i
删除路径然后导入正常在GHC中跟踪此为otherwise -> modNotLoadedError m loc
个案,其中otherwise
〜modulePackageId = this_pkg
(其中我不知道的含义)。
这不是完全系统化的,有一些模块既包含在源包中,也包含在源路径中,但可以导入。
答案 0 :(得分:1)
GHC只知道已安装的软件包。要查看已安装的软件包,请使用ghc-pkg list命令:
$ ghc-pkg list
/usr/lib/ghc-6.12.1/package.conf.d:
Cabal-1.7.4
array-0.2.0.1
base-3.0.3.0
base-4.2.0.0
bin-package-db-0.0.0.0
binary-0.5.0.1
bytestring-0.9.1.4
containers-0.2.0.1
directory-1.0.0.2
(dph-base-0.4.0)
(dph-par-0.4.0)
(dph-prim-interface-0.4.0)
(dph-prim-par-0.4.0)
(dph-prim-seq-0.4.0)
(dph-seq-0.4.0)
extensible-exceptions-0.1.1.0
ffi-1.0
filepath-1.1.0.1
(ghc-6.12.1)
ghc-prim-0.1.0.0
haskeline-0.6.2
haskell98-1.0.1.0
hpc-0.5.0.2
integer-gmp-0.1.0.0
mtl-1.1.0.2
old-locale-1.0.0.1
old-time-1.0.0.1
pretty-1.0.1.0
process-1.0.1.1
random-1.0.0.1
rts-1.0
syb-0.1.0.0
template-haskell-2.4.0.0
terminfo-0.3.1
time-1.1.4
unix-2.3.1.0
utf8-string-0.3.4