Skip to content
benmachine edited this page Apr 2, 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 subject of a proposal by a team of influential Haskell implementors 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, and using Cabal to configure, compile, and install them.

Resources for users

The Cabal website has a bunch of documentation and related resources, including the user guide, and is probably where anyone interested in using Cabal should go for help. This wiki, being attached to the source repository for Cabal and cabal-install, is more for developers.

Resources for developers

General information:

For asking questions:

  • The development mailing list.
  • The #hackage IRC channel on Freenode.