Unbounded Tic-Tac-Toe is an implementation of a popular game: the user plays against the computer, each placing their mark (X or O) at a vacant place on the board. The goal is to get a specific number (between 2 and 10, usually 5) of marks in a row, either horizontally, vertically, or diagonally. The twist is that the board is infinite.
Hashell is a shell written in Haskell and which is intended to provide a set of abstractions that allow you to use Haskell as a shell programming language for your daily administration tasks. Hashell works like a kind of a layer between a command line prompt and the Glasgow Haskell Compiler RTS, so the user can mix expressions of both enviromments together in a very uniform way.
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it can write markdown, reStructuredText, HTML, LaTeX, DocBook, OpenDocument XML, RTF, ODT, GNU Texinfo, MediaWiki markup, and S5 HTML slide shows. Pandoc extends standard markdown syntax with footnotes, embedded LaTeX, and more. A compatibility mode is provided for those who need a drop-in replacement for Markdown.pl. Included wrapper scripts make it easy to convert markdown to PDFs and Web pages to markdown documents. It has a modular design where the addition of a new input or output format requires only the addition of a reader or writer module.
Streams is an I/O library designed to eventually replace the current I/O facilities based on using Handles. The main advantage is its strong modular design using typeclasses. It consists of small independent modules, each implementing one type of stream (file, memory buffer, pipe, etc.) or one part of common stream functionality (buffering, char encoding, locking, etc.). 3rd-party librarie can easily add new stream types and new common functionality. Other benefits of the new library include support for streams functioning in any monad, Hugs and GHC compatibility, high speed, and an easy migration path from the existing I/O library. It is heavily based on the HVIO module written by John Goerzen.
hslogger is a logging framework for Haskell, roughly similar to Python's logging module. hpodder lets each log message have a priority and source be associated with it. The programmer can then define global handlers that route or filter messages based on the priority and source. hslogger also has a syslog handler built in.
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.