Title Hackage Web Interface, Doc-Browser
Student Sascha Böhme
Mentor Ross Paterson
Abstract
Some open-source projects feature already a centralised, searchable and well-documented store of projects (for example CPAN for Perl or CTAN for TeX). A similar system for Haskell is under development, HackageDB.

    http://hackage.haskell.org/packages/hackage.html

It is tailored for packages in the Cabal format, the preferred way to describe Haskell packages. Currently, HackageDB lists available packages of Haskell libraries and applications and is capable of showing a formatted, colourised version of the package's Cabal file.

To further support application developments and code reuse in Haskell, the current Hackage should be extended by browsable Haddock documentation. This could be generated automatically by the use of Cabal. However, the challenge is to link the documentation of one package with the documentation of any package the first one depends on.

Since the number of hosted packages will definitely grow, another desirable feature is a search function.

After studying the available source code, the following milestones are planned:

* Identifying dependencies, find them from the HackageDB and generate documentation based on them. This can be done locally without modifying the HackageDB contents.

* Add automatic documentation support to the uploader, such that full documentation is generated immediately.

* Create a prototypic search function to find packages based on their name or the contents of their Cabal files.

* Extend the package descriptions by tags to enable better search functionalities.

The aim is to at least finish the first three items during the Summer of Code 2007.

This project will probably use the GHC compiler, the existing Hackage software as well as Haddock for source documentation and Darcs for version control.