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.
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.
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.
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.
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.
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.