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.
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.
The ConfigFile module for Haskell works with configuration files in a standard format that is easy for the user to edit, easy for the programmer to work with, and yet remains powerful and flexible. It is inspired by, and is compatible with, Python's ConfigParser module. It uses files that resemble Windows .INI-style files, but with numerous improvements. ConfigFile provides simple calls to both read and write config files. It's possible to make a config file parsable by this module, the Unix shell, and make.
DisTract is a distributed bug tracker. DisTract allows you to manage bugs in a distributed and potentially offline manner through your Web browser on your local machine. The distribution is achieved by making use of a distributed software control system, Monotone. Thus Monotone is used to move files across the network, perform merging operations, and track the development of every bug.
Erasm++, the Embedded Runtime Assembler in C++, is an Embedded Domain Specific Language (EDSL) in C++ for runtime code generation on Intel 64/IA-32 architectures. It supports complete compile-time syntax checking, and its code generators run very quickly because necessary data are computed statically. Also included are GenericDsm, a fast and generic instruction decoder library which supports "pattern matching" against the decoded instructions, and MetaPrelude, a Haskell-like lazy metaprogramming library that helps implementing EDSLs in C++.
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.
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.
LDAP for Haskell provides an interface to the C LDAP API for Haskell programmers. With it, you can search and modify LDAP directories. The Haskell binding features automatic memory management and proper handling for binary data, and handles all marshalling into and out of C data structures for you automatically.