我的haskell应用程序具有以下目录结构:
src/
utils/Utils.hs
subsystem/Subsystem.hs
Subsystem
模块导入Utils
模块。我想在GHCi中手动测试此代码。问题是GHCi似乎只在寻找
'.'
(当前目录)中可用的模块,因此我将Utils.hs
复制到子系统文件夹中,并且能够手动测试Subsytem.hs
。有一个更好的方法吗?例如,我想在src
目录中启动GHCi,并让它在./utils
和./subsystem
目录中搜索模块。我可以指定GHCi的模块路径吗? 最佳答案
您可以使用-i
选项告诉GHCi在哪里搜索模块:
ghci Foo.Bar -isrc
这会将
src/Foo/Bar.hs
加载到GHCi中。这样,您还可以指定两个不同的目录,如下所示:ghci Bar.hs -i.:config
它将在./和./config/中查找依赖项。
See the GHC user's guide for more information about the module search path。
关于haskell - Haskell/GHCi-从不同目录加载模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6606045/