Haskell在emacs中加载模块问题

0xA*_*xAX 3 emacs haskell module

我在emacs中有2个Haskell模块:Mod1.hs和Mod2.hs

Mod1.hs:

module Mod1 where
...
Run Code Online (Sandbox Code Playgroud)

在第二个模块中,我尝试导入第一个模块:

import Mod1
Run Code Online (Sandbox Code Playgroud)

但得到错误:

 Could not find module `Mod1':
      Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

在emacs中,我使用标准的Haskell模式.Mod1.hs和Mod2.hs文件位于同一目录中.

我该如何解决?

谢谢.

cwb*_*cwb 5

您需要设置在Emacs中运行的解释器的搜索路径,以包含文件中的目录.在GHCi解释器中:

Prelude> :cd /home/you/projects/yourproject
Run Code Online (Sandbox Code Playgroud)

当然,用文件/home/you/projects/yourproject的路径替换.hs.(:!pwd在解释器中打印当前路径.)然后您应该能够:

Prelude> :l Mod2
Run Code Online (Sandbox Code Playgroud)

(或C-c C-lMod2.hs缓冲区中.)有关详细信息,请参阅GHC用户指南.