log2rotate is designed for rotating backups with an optimal balance between retention and space usage. Instead of rotating backups using some fixed period such as daily, weekly, monthly, or yearly, it rotates backups using exponentially-growing periods. The exponential periods are based on the base 2 logarithm or squaring, depending on how you look at it.
cpphs is a more liberal re-implementation of cpp, the C pre-processor, in Haskell. The C pre-processor is widely used in Haskell source code, but a true cpp is often unavailable on some systems (such as native Windows), and the common cpp provided by the gcc 3.x series has become more strictly tied to the C language, in subtle ways that are incompatible with Haskell's syntax. This includes problems with, for instance, string gaps, and prime characters in identifiers. This project provides a robust alternative to cpp that is more compatible with Haskell and can be distributed with compilers.
MissingH is a library of all sorts of utility functions for Haskell programmers. It is written in pure Haskell and thus should be extremely portable and easy to use. It also has no prerequisites save those that are commonly included with Haskell compilers. Highlights of MissingH include a full logging infrastructure, printf() implementations, various string and I/O utilities, a FTP client library, and more.
HaXml is a suite of libraries and tools for manipulating XML documents in Haskell. It includes a parser, a pretty-printer, a validator, a combinator library for transforming documents, and converters for changing a Haskell datatype into an XML DTD, and for changing an XML DTD into a set of Haskell datatypes. There are also tools for a query language based on XQL.
HDBC provides an abstraction layer between Haskell programs and SQL relational databases. This lets you write database code once, in Haskell, and have it work with any number of backend SQL databases (MySQL, Oracle, PostgreSQL, ODBC-compliant databases, etc.) HDBC is modeled loosely on Perl's DBI interface, though it has also been influenced by Python's DB-API v2, JDBC in Java, and HSQL in Haskell.
hmake is a compilation manager for Haskell programs. It is compiler independent, and liberates the programmer from needing to write Makefiles by extracting dependencies directly from the source code. It is aware of all compiler invocation conventions, and of several common pre-processors, including cpp, greencard, hsc2hs, c2hs, and happy.
RSA-Haskell is a collection of command-line cryptography tools and a cryptography library written in Haskell. It is intended to be useful to anyone who wants to secure files or communications or who wants to incorporate cryptography in their Haskell application. The libraries include Haskell implementations of SHA1, EME-OAEP, EMSA-PSS, MGF, RSAES-OAEP, and RSA-PSS. These standards implement signature/verification, strong cryptography, and hashing.
hslogger is a logging framework for Haskell, roughly similar to Python's logging module. hpodder lets each log message have a priority and source be associated with it. The programmer can then define global handlers that route or filter messages based on the priority and source. hslogger also has a syslog handler built in.
AnyDBM is a Haskell module that provides a generic infrastructure for supporting storage of hash-like items with String-to-String mappings. It can be used for in-memory or on-disk storage. Two simple backend drivers are included with this package: one that is RAM-only, and one that is persistent and disk-backed. The hdbc-anydbm package provides another driver which lets you use simple tables in any SQL database to provide a DBM-like interface. MissingPy also provides a Python driver which lets you use any Python anydbm driver under Haskell AnyDBM.