Cabal vs cabal-install library. what's the difference?

When I do cabal --version , I see:

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

so what's the difference? I thought that when I do cabal build , I use only one program. why is it divided into two separate programs with different versions?

+7
haskell cabal cabal-install
source share
1 answer

The Cabal library defines how package descriptions are described and structured, as well as part of the package assembly and installation process. The cabal-install package defines the Cabal application. It uses a library to effectively understand what a package description is.

This is the usual structure for software: implement all your clean and reusable business logic in the library (the Cabal library does most, but not all) of the work exclusively related to package descriptions) and implements all your users interface material and other "details" in the application using the library ( cabal-install package defines the CLI tool and implements information on extracting packages from Hackage).

+7
source share

All Articles