分發您的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