我在 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
(或 Mod2.hs
缓冲区中的 C-c C-l
。)参见 the GHC user guide了解详情。
关于emacs 中的 Haskell 加载模块问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581176/