The Cabal (common architecture for building applications and libraries) is a type of package manager to aid in packaging and distributing software packages, in the forms of application software and libraries, for the programming language Haskell.
Original author(s) | Isaac Potoczny-Jones |
---|---|
Developer(s) | Duncan Coutts |
Initial release | January 2005 |
Stable release | 3.12.1.0[1]
/ 7 August 2024 |
Repository | |
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 |
History
editCabal was introduced to simplify packaging of Haskell software and modules. It was added to the Glasgow Haskell Compiler in version 6.4 as the default package manager,[2] alongside GHC's internal manager ghc-pkg. Its approach has changed significantly over the course of its development, moving from global package installation to sandboxed builds, and eventually a Nix-inspired solution of local builds with global caching,[3] which became the default in 2019.
Use
editCabal packages provide a standard set of metadata and build process; thus, it is possible to develop tools to upload Cabal packages to the CPAN-like community repository of software, Hackage, or even allow automated downloading, compiling, and installing of desired packages from Hackage.[4]
References
edit- ^ "Release 3.12.1.0". 7 August 2024. Retrieved 20 August 2024.
- ^ "1.4. Release notes for version 6.4". GHC 6.4 user manual. Retrieved 2016-01-12.
- ^ "Announcing cabal new-build: Nix-style local builds". Retrieved 1 October 2019.
- ^ "cabal-install: The command-line interface for Cabal and Hackage". Hackage. Retrieved 12 January 2016.