我的 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/GHCi - 从不同目录加载模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6606045/