The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler for the functional programming language Haskell. GHC compiles Haskell to either native code or C. It implements numerous experimental language extensions to Haskell for example concurrency, a foreign language interface, several type-system extensions, exceptions, and so on. GHC comes with a generational garbage collector, a space and time profiler, and a comprehensive set of libraries.
The program arbtt, the automatic rule-based time tracker, allows you to investigate how you spend your time, without having to manually specify what you are doing. arbtt records which windows are open and active, and provides you with a powerful rule-based language to afterwards categorize your work.
Darcs is an advanced revision control system. It has two particularly distinctive features which differ from other revision control systems: each copy of the source is a fully functional branch, and underlying it is a consistent and powerful theory of patches. In spite of its power, darcs is simple to use, in part because of the symmetry that is restored by making each copy of the repository a branch.
Asynchronous DNS Resolver for Haskell is a library that provides an asynchronous DNS resolver on top of GNU ADNS. Not all options are supported, but A, MX, and PTR lookups work nicely. There is also support for retrieving generic RR types, CNAMEs, and for NSEC zone walking. The library can be expected to work with fine ADNS 1.4 or later. It might also work with version ADNS 1.3, but that hasn’t been tested.
Haskell IDoc extracts interface documentation and declarations from Haskell modules based on standard Haskell layout rules and a small number of clues that the programmer embeds in interface comments. These clues have been designed to be visually non-imposing when displaying the source in a text editor. Interface documentation is rendered in standard markup languages. IDoc has been designed to be simple to use and install.
timeplotters is a collection of command line tools for visualizing temporal data. It is especially useful for visualizing data from ad-hoc program logs, helping you to spot patterns and anomalies that you would not otherwise see by just watching how the program works or by looking at the logs with the naked eye. Its input format is tailored to event types typically seen in program logs, and the visualization methods are tailored to the questions typically asked about program performance (e.g. distribution of activity durations).