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

Cabal
Original author(s)Isaac Potoczny-Jones
Developer(s)Duncan Coutts
Initial releaseJanuary 2005; 19 years ago (2005-01)
Stable release
3.10.3.0[1] Edit this on Wikidata / 21 March 2024; 31 days ago (21 March 2024)
Repository
Written inHaskell
Operating systemAny Unix-like, Microsoft Windows
Available inEnglish
TypeApplication level package manager
LicenseBSD
Websitewww.haskell.org/cabal/

History edit

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.

Use edit

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]

References edit

  1. ^ "Release 3.10.3.0". 21 March 2024. Retrieved 21 April 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.

External links edit