Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
emacs中的Haskell加载模块问题_Haskell_Emacs_Module - Fatal编程技术网

emacs中的Haskell加载模块问题

emacs中的Haskell加载模块问题,haskell,emacs,module,Haskell,Emacs,Module,我在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模式。

我在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-l
)请参阅以了解详细信息。

如果将其放入.emacs中,可能会有所帮助:

它告诉ghci不要从当前目录移动

(setq inferior-haskell-find-project-root nil)