Cabal - 在构建库时公开所有模块

时间:2013-08-06 15:21:58

标签: haskell cabal

是否可以告诉Cabal在构建库时公开所有模块?

现在我必须在Exposed-modules cabal configurtion文件部分提供很长的模块列表。

2 个答案:

答案 0 :(得分:9)

现代答案是stack + hpack,而不是使用显式的cabal配置。它可以自动公开包模块并提供许多其他增强功能。

答案 1 :(得分:8)

您必须列出cabal配置文件中的所有模块。在您的情况下,您只需在exposed-module:之后放置模块列表。没有更简单的方法来编写模块列表。

Cabal无法自动查找属于可执行文件或库的文件,因此它依赖于配置文件中的模块列表。与GHC不同,cabal无法在源代码中找到基于import语句的模块。如果您没有列出每个模块,那么您可以构建项目(因为GHC可以找到源文件),但是其他命令(例如cabal sdist)将无法访问不属于'的源文件。列出。