| Cabal | |
|---|---|
| Original author | Isaac Potoczny-Jones |
| Developer | Duncan Coutts |
| Initial release | January 2005; 21 years ago (2005-01) |
| Stable release | |
| Written in | Haskell |
| Operating system | Unix,Unix-like,Windows |
| Platform | IA-32,x86-64 |
| Available in | English |
| Type | Application level package manager |
| License | BSD |
| Website | www |
| Repository | |
TheCabal (common architecture for building applications and libraries) is a type ofpackage manager to aid in packaging and distributing software packages, in the forms ofapplication software andlibraries, for theprogramming languageHaskell.
Cabal was introduced to simplify packaging of Haskell software and modules. It was added to theGlasgow Haskell Compiler in version 6.4 as the default package manager,[2] alongside GHC's internal managerghc-pkg. Its approach has changed significantly over the course of its development, moving from global package installation to sandboxed builds, and eventually aNix-inspired solution of local builds with global caching,[3] which became the default in 2019.
Cabal packages provide a standard set ofmetadata and build process; thus, it is possible to develop tools to upload Cabal packages to theCPAN-like community repository of software,Hackage, or even allow automateddownloading,compiling, andinstalling of desired packages from Hackage.[4]