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.
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.
Hat (Haskell Tracer) is a tracing and debugging system for Haskell that can be used for comprehending working programs, and debugging an incorrect one. It consists of hat-trans, which transforms a program into one that traces itself using your normal compiler and a runtime library, and a set of browsing tools that explore the trace after execution of the program has completed.
PXSL ("pixel") is a convenient shorthand for writing markup-heavy XML documents. It provides XML authors and programmers with a simple, concise syntax that they can use to create XML documents. For more advanced users, it offers customizable shortcuts and sophisticated refactoring tools like functional macros that can markedly reduce the size and complexity of markup-dense XML documents.