Home (original) (raw)

Update Note

Much of the wiki information is old, but not necessarily obsolete. The wiki is currently being updated to provide a better on-boarding experience for new contributors. For smaller problems with the Wiki, use the #hackage channel on irc.libera.chat or on Cabal and Hackage's Matrix channel. If you notice major problems, consider bringing it up in Github issues.

Existing material

This wiki is for development of 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:

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.

Some things have been written sufficiently recently that they haven't made it into the guide yet:

Reporting bugs

We use the GitHub issue tracker for both Cabal and cabal-install.

Resources for developers

General information:

For asking questions:

This wiki

Information that should be attached to development of the Cabal library and cabal-install tool goes on this wiki. Information about how to use Cabal or cabal-install should end up in the user's guide, but drafting something to go in there counts as development information, so goes on the wiki :)

If you want a quick chat, go to IRC. If you want a thoughtful discussion, go to the mailing list. If that discussion proves fruitful, write a wiki article about it! Much wisdom is stored in ML archives but inscrutable to the casual observer; wiki articles are much easier to find and update.

GitHub wikis are built on Gollum, and information on how to use them is detailed in its README. They support a variety of markup languages, but for consistency's sake, we should probably stick to using Markdown everywhere.