A practical lambda-calculator is a normal-order evaluator for the untyped lambda-calculus, extended with convenient commands and shortcuts to make programming in it more productive. Shortcuts are distinguished constants that represent terms. Commands define new shortcuts, activate tracing of all reductions, compare terms modulo alpha-conversion, print all defined shortcuts and evaluation flags, etc. Terms to evaluate and commands are entered at a read-eval-print-loop (REPL) "prompt" or "included" from a file by a special command. A Haskell branch is an embedding of the lambda calculator (as a domain-specific language) into Haskell. The calculator can be used interactively within Hugs or GHCi.
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.
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.
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.
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.
Xcerpt is a declarative, rule-based query and transformation language for XML, inspired by logic programming. Instead of the path-based navigational approach taken by languages like XSLT and XQuery, Xcerpt uses pattern-based, positional queries, where a pattern is an "example" of the database containing variables for binding content. As in logic programming, rules may be chained to form more complex queries.
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.
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.