Cabal (software)

From Wikipedia, the free encyclopedia
Original author(s)Isaac Potoczny-Jones
Developer(s)Duncan Coutts
Initial releaseJanuary 2005; 19 years ago (2005-01)
Stable release[1] Edit this on Wikidata / 9 November 2023; 5 months ago (9 November 2023)
Written inHaskell
Operating systemAny Unix-like, Microsoft Windows
Available inEnglish
TypeApplication level package manager

The Haskell Cabal (common architecture for building applications and libraries) aids in the packaging and distribution of software packages.


Cabal was introduced to simplify packaging of Haskell software and modules[citation needed]. 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.


Cabal 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 for automated downloading, compilation, and installation of desired packages from Hackage.[4]


  1. ^ "Release". 9 November 2023. Retrieved 18 November 2023.
  2. ^ "1.4. Release notes for version 6.4". GHC 6.4 user manual. Retrieved 2016-01-12.
  3. ^ "Announcing cabal new-build: Nix-style local builds". Retrieved 1 October 2019.
  4. ^ "cabal-install: The command-line interface for Cabal and Hackage". Hackage. Retrieved 12 January 2016.

External links[edit]