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.
In Haskell, data type declarations, Parsec parsers, and HughesPJ pretty-printers very much resemble each other; supplying all three is virtuous, but involves a large amount of code duplication. syntran is a code generator designed to reduce the amount of duplication. Its source is similar to a Parsec LanguageDef-using parser, annotated with the unique information from the data type declaration and the pretty-printer which would normally not be found in a parser. It separates this information out to generate pure Haskell.
Riot is a tool for keeping (textual) information organised. It is a todo list and note manager, and a manager for whatever information one might collect. It has an interface resembling those of slrn and mutt and all text editing is done with an external editor, making it a nice browser for collections of text.
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.
lhs2TeX is a literate programming tool. It is implemented as a preprocessor that generates LaTeX code from literate Haskell sources. It allows for and provides different styles for the formatting of code. You can easily select between representing operators with mathematical symbols or with ASCII approximations, as well as deciding whether or not to highlight keywords. The formatting of your own defined tokens may be adjusted. Preprocessor-style conditionals are supported, and Haskell can be used to generate parts of the document.
Postmaster is an Internet mail transport agent (MTA) that handles incoming ESMTP network connections and delivers accepted messages to the user's mailbox by piping it into an arbitrary local mailer (such as Procmail). It is configurable beyond anything you'll ever need, handles any number of concurrent connections without forking or using OS threading, and it is pretty efficient. It currently lacks any form of queue management, but for leaf sites that don't need to do extensive mail relaying, it is a reliable and powerful solution.
Debian From Scratch is really two related components in one. First, it's a live bootable CD image that is designed to provide a full-featured kernel and rescue environment. It includes filesystem tools, editors, C compilers, Python, Perl, and everything you need to manually install Debian on a new machine. On ix86 machines, Grub is used to boot directly from the CD. There is also a program that is used to create the DFS CD images. It is highly configurable and can be used to create other custom bootable CD or DVD images. You can include whatever kernel or packages you want.