Skip to content
benmachine edited this page Apr 1, 2013 · 35 revisions

This wiki is for the Cabal project.

Cabal is a Common Architecture for Building Applications and Libraries in the Haskell programming language. It was originally the product of a proposal by a team of influential Haskell implemetors to unify the then-disparate methods for turning a collection of .hs files into a program that could be run. It consists of several components:

  • The Cabal package specification format, for writing files that contain metadata about a Haskell library or program, such as its name, version, author, build dependencies, etc.
  • The Cabal library, which parses files in the format of the same name and translates them into compilerspeak.
  • The cabal-install tool, which provides a nice interface for fetching packages from the package repository Hackage, configuring them, compiling them, and installing them.