2014-11-02 83 views
7

當我做cabal --version我看到:Cabal庫vs cabal-install。有什麼不同?

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

有啥區別?我以爲,當我做cabal build我只使用一個程序。爲什麼它分成兩個不同版本的獨立程序?

回答

7

Cabal庫定義瞭如何解析和結構化包描述,並描述了構建和安裝包的部分過程。 cabal-install包定義了cabal應用。它使用庫來有效地理解包描述是什麼。

這是軟件的常見結構:在庫中實現所有純粹的和可重用的業務邏輯(Cabal庫完成與包描述完全相關的大部分工作,但不是全部),並實現所有用戶界面東西和其他'細節'在使用該庫的應用程序中(cabal-install包定義了CLI工具,並實現了從Hackage獲取包的細節)。

相關問題