分发您的Haskell项目的推荐方式是使用Cabal。 Cabal既是Haskell代码的构建系统和包管理器,也可以轻松在不同平台上构建Haskell代码,同时为您处理依赖关系。
下面是一个例子阴谋文件:
Name: MyPackage
Version: 0.0
Cabal-Version: >= 1.2
License: BSD3
Author: Angela Author
Synopsis: Small package an utility program
Build-Type: Simple
Executable myutility
Build-Depends: base
Main-Is: Main.hs
Hs-Source-Dirs: src
您可以通过运行交互生成一个小集团文件
$ cabal init
那么惊天动地会问你一些简单的问题,并生成一个阴谋集团的文件,根据答案。然后,您可以调整此文件以适应您的特定需求。
要安装包只是在包目录
$ cabal install
您也可以上传你的包Hackage,标准哈斯克尔包程序存储库运行此。通过这种方式,人们可以用命令在单个步骤下载和安装软件包(和任何依赖关系)
$ cabal install mypackage
还存在着工具转换惊天动地包到其它的包管理器,如果你不希望要求您的用户安装了Cabal(尽管Cabal包含在Haskell Platform中)。
它也可以很好地与Haddock为您的软件包生成参考文档。查看Hackage上的一些软件包以获取结果示例。
目前还有一些工作正在改进对Cabal测试套件的支持。总之,这些原因以及更多使得使用Cabal来组织,构建和分发Haskell项目是一个很大的好处。
谢谢! Cabal是完美的解决方案,并且在Linux和Windows上开箱即用。你提供的cabal模板有很多帮助,我只需要将HUnit改为基础。 – 2011-05-11 17:57:17
请注意,您也可以使用'cabal init'来创建一个空项目。最后,'cabal'是[Haskell平台](http://hackage.haskell.org/platform)的一部分,所以如果你使用核心发行版,它将在你的所有机器上。 – 2011-05-11 18:25:58