Cabal (software)
Original author(s) | Isaac Jones |
---|---|
Developer(s) | Duncan Coutts |
Initial release | January 2005 |
Stable release | 1.16.0.3 / November 2012 |
Development status | Active |
Written in | Haskell |
Operating system | Any Unix-like, Microsoft Windows |
Size | 0.3 megabytes |
Available in | English |
Type | Application level package manager |
License | BSD |
Website | http://www.haskell.org/cabal/ |
The Haskell Cabal is the Common Architecture for Building Applications and Libraries; it aids in the packaging and distribution of software packages. It is contained in the Haskell Platform.
Cabalizing
Cabalizing is the process of making a library written in the Haskell programming language conformant to the requirements of the Cabal library infrastructure. Cabalizing may be required if a library was initially developed without taking those requirements into consideration, or if it was developed prior to the introduction of Cabal to the Haskell community.
Use
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 (through the cabal-install tool).
External links
Wikibooks has a book on the topic of: Haskell/Packaging |
- Cabal
- "The Haskell Cabal: A Common Architecture for Building Applications and Tools" -(the original proposal and specification, by Isaac Jones, Simon Peyton Jones, Simon Marlow, Malcolm Wallace, and Ross Patterson; a version was submitted to the Haskell Workshop, 2005)
- Cabal talk -(slides)