About Hackage
Hackage is a collection of released Haskell packages. Each package is in the Cabal format, a standard way of packaging Haskell source code that makes it easy to build and install. (Hackage and Cabal are components of a broader Haskell infrastructure effort called Hackage.) These pages are a basic web interface to the Hackage package database.
This isn't the official Hackage. It's an in-progress rewrite of the server using the happstack web framework.
Finding packages
The Packages link above lists the available packages and provides a full text search of the package pages (via Google), while What's new lists recent additions (also available as an RSS feed). You can also do a simple text search of package descriptions:
There are a few other package indices:
- All tags
- All packages by name, with tags
- All packages with reverse dependencies
- All packages by download (since old download data isn't imported, this will look somewhat barren)
- All packages with preferred versions
- All deprecated packages
- All candidate packages
See How to install a Cabal package for instructions on installing the packages you find here.
Releasing packages through Hackage
To upload your own releases, you'll first need to package them as Cabal source packages. See How to create a Haskell package for a tutorial. You can check and upload your package using the Upload link above, though you'll need a Hackage username and password.
Getting the raw data
Development
See the Hackage wiki page. There is also a document in progress summarizing the architecture of the new hackage-server. Check out the code yourself:
darcs get http://code.haskell.org/hackage-server
We'd like to make it as simple as possible for anyone to set up a Hackage server.