6

假设有A、B、C三个项目。C中的模块会被A和B共享。因为没有java的CLASSPATH这个东西,那么我们从C导入模块时需要使用绝对路径吗?

任何建议表示赞赏!

4

3 回答 3

8

我敦促你对你的项目进行改造。

但是如果由于某种原因你不想这样做,那么最接近 java 类路径的就是切换-i到 ghc。请注意,当前目录需要显式出现在列表中。

于 2012-12-05T10:19:50.740 回答
7

规范的方法是仔细选择它们应该在模块层次结构中的位置,并将每个项目变成一个功能齐全的Cabal包,然后在本地安装它们,以便它们成为本地编译器命名空间的一部分。

这样,每个模块都可用于您正在编写的任何源代码。

如果(例如)您使用leksah IDE,它将为您完成很多工作。

于 2012-12-05T07:35:29.230 回答
4

如果您所说的“项目”是指 Cabal 包,那么标准的做法是从 C 导出任何必要的模块,然后让 A 和 B 依赖于 C 并导入它们。让包中的源文件直接依赖于不属于该包的文件并不是一个好主意。

于 2012-12-05T07:29:24.573 回答