2010-10-15
By Xyne
The following are scripts for working with Haskell and anything related to it. They may or may not be written in Haskell.
You can also find my miscellaneous notes about Haskell here.
I wrote this script to provide an overview of HackageDB and to make it easier to find a particular module. It also provides links to each package's source code on a single page. This script might be redundant but I was unable to find an equivalent page when I decided to write it.
get_hackagedb_module_hierarchy will create a hierarchy of the modules listed on HackageDB similar to the list of Haskell Hierarchical Libraries. The script uses threads to mirror the package metadata pages and then scrapes them to build the module tree and source archive table. You can adjust the number of threads that it uses by changing the "$number_of_threads" variable at the top of the file.
hackagedb_module_hierarchy.html is an example of the output. It is provided only as an example and it is not actively maintained1, so it might not be up-to-date with HackageDB.
The uncompressed file is large (~ 3.8 MB) and may take a while to load in your browser. Transfer compression is enabled but even with it the download is ~ 250 kB, which is quite large for an (X)HTML page. It is therefore recommended that you use a local copy (generated with the script or downloaded from this page) for reference instead of consulting this page every time you need to check it.
hackagedb_module_hierarchy.html.xz is also provided for direct download of the compressed page.
Topac is a script to generate topological build queues for local pacman packages. Although it isn't Haskell-specific, it was written with a focus on managing Haskell packages that often require such rebuilds.
It is a mirror of my local copy, which I update only occasionally. ↩