The Glasgow Haskell Compiler is a robust, fully-featured, optimising compiler for the functional programming language Haskell. GHC compiles Haskell to either native code or C. It implements numerous experimental language extensions to Haskell for example concurrency, a foreign language interface, several type-system extensions, exceptions, and so on. GHC comes with a generational garbage collector, a space and time profiler, and a comprehensive set of libraries.
Bluetile is a tiling window manager designed to integrate with the GNOME desktop environment. It provides both a traditional, stacking layout mode as well as tiling layouts where windows are arranged to use the entire screen without overlapping. Bluetile tries to make the tiling paradigm easily accessible to users coming from traditional window managers by drawing on known conventions and providing both mouse and keyboard access for all features.
xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard; a mouse is optional. xmonad is extensible in Haskell, allowing for powerful customisation. Custom layout algorithms, key bindings, and other extensions may be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens.
Knit is a new component definition and linking language that can be used with C and assembly code. Knit supports component definitions that require little or no modification to existing code. It automatically schedules component initializers and finalizers and provides an extensible constraint system to detect subtle errors in component composition. Knit provides cross-module inlining that largely eliminates the overheads of componentization, supports component hierarchies, and supports cyclic component dependencies. Knit can be used for any C program, but is especially well suited for use in systems that have many separate components, multiple implementations of the same component, intricate initialization requirements, complex component interdependencies, low-level code and embedded systems, or code that is used in radically different configurations.
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.
Happy is a parser generator system for Haskell, similar to the tool 'yacc' for C. Like yacc, it takes a file containing an annotated BNF specification of a grammar and produces a Haskell module containing a parser for the grammar. It is flexible: you can have several Happy parsers in the same program, and several entry points to a single grammar. It can work in conjunction with a lexical analyser supplied by the user (either hand-written or generated by another program), or it can parse a stream of characters directly (but this isn't practical in most cases).
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.
Parsec is a monadic parser combinator library for Haskell. It can parse context-sensitive, infinite look-ahead grammars but performs best on predictive (LL) grammars. The parser definition is in the same language as the rest of the program, so it benefits from type checking and existing development tools. Parsers are first-class values within the language and it is easy to extend the set of parsers with custom-made ones.