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.

Cabal
Original author(s)Isaac Potoczny-Jones
Developer(s)Duncan Coutts
Initial releaseJanuary 2005; 19 years ago (2005-01)
Stable release
3.12.1.0[1] Edit this on Wikidata / 7 August 2024; 3 months ago (7 August 2024)
Repository
Written inHaskell
Operating systemUnix, Unix-like, Windows
PlatformIA-32, x86-64
Available inEnglish
TypeApplication level package manager
LicenseBSD
Websitewww.haskell.org/cabal

History

edit

Cabal 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.

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 automated downloading, compiling, and installing of desired packages from Hackage.[4]

References

edit
  1. ^ "Release 3.12.1.0". 7 August 2024. Retrieved 20 August 2024.
  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.
edit