我在 emacs 中有 2 个 Haskell 模块:Mod1.hs 和 Mod2.hs
Mod1.hs:
module Mod1 where
...
在第二个模块中,我尝试导入第一个模块:
import Mod1
但得到错误:
Could not find module `Mod1':
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
在 emacs 中,我使用标准的 Haskell 模式。 Mod1.hs 和 Mod2.hs 文件在同一目录中。
我该如何解决?
谢谢你。
最佳答案
您需要设置在 Emacs 中运行的解释器的搜索路径,以将目录包含在您的文件中。在 GHCi 解释器中:
Prelude> :cd /home/you/projects/yourproject
当然,用
/home/you/projects/yourproject
文件的路径替换 .hs
。 (在解释器中执行 :!pwd
以打印当前路径。)然后您应该能够执行以下操作:Prelude> :l Mod2
(或
C-c C-l
缓冲区中的 Mod2.hs
。)有关详细信息,请参阅 the GHC user guide。关于emacs 中的 Haskell 加载模块问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6581176/