在项目之间共享模块的规范方法是什么?

时间:2012-12-05 07:25:52

标签: haskell

假设有三个项目A,B和C.C中的模块将由A和B共享。因为没有java的CLASSPATH,所以在从C导入模块时是否需要使用绝对路径?

任何建议都表示赞赏!

3 个答案:

答案 0 :(得分:8)

我恳请你cabalise your projects

但是如果由于某种原因你不想这样做,那么最接近java类路径的是the -i switch to ghc。请注意,当前目录需要在列表中明确显示。

答案 1 :(得分:7)

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

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

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

答案 2 :(得分:4)

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

相关问题