我在 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/

10-13 07:20