如果package-conf和源path都包含它,GHCI将无法加载模块

我在GHCI遇到一个奇怪的情况,不知道有没有人观察过类似的情况。 对于某些模块,当我在searchpath中使用-package -package-conf-i ,当我尝试导入带有'module is not loaded: FooModule'的模块时,GHCI失败。

  • :module加载它很好
  • 或者我可以这样做:load FooModule:m清除导入列表,然后import FooModule
  • 或者我可以从-i删除path,然后导入罚款

跟踪这是在GHC , otherwise modulePackageId = this_pkg (我不知道的意思) otherwise -> modNotLoadedError m loc情况。

这不是完全系统的,有一些模块在包和源path中,但是可以导入。

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