Cabal库与cabal-install。有什么不同?

时间:2014-11-02 22:34:13

标签: haskell cabal cabal-install

当我cabal --version时,我看到了:

cabal-install version 0.14.0
using version 1.14.0 of the Cabal library 

那有什么区别?我认为当我做cabal build时,我只使用一个程序。为什么它分成两个不同版本的独立程序?

1 个答案:

答案 0 :(得分:7)

Cabal库定义如何解析和结构化包描述,并描述构建和安装包的过程的一部分。 cabal-install包定义了cabal 应用程序。它使用库来有效地理解包描述是什么。

这是软件的通用结构:在库中实现所有纯的和可重用的业务逻辑(Cabal库完成大部分(但不是全部)与包描述完全相关的工作),并实现所有您的用户界面内容和其他详细信息'在使用该库的应用程序中(cabal-install包定义了CLI工具,并实现了从Hackage中获取包的详细信息。)