Welcome to issue 66 of HWN, a newsletter covering developments in the Haskell community.
A huge month for the Haskell community, with the Haskell Workshop, ICFP and CUFP conferences, the second international Haskell Hackathon, and 63 libraries and tools uploaded to hackage! A round of applause to everyone involved!
SDL 0.5.0. Uploaded by Lemmih. SDL, a binding to libSDL.
Stream 0.2.1. Uploaded by Wouter Swierstra. Stream, functions, analogous to those from Data.List, to create and manipulate infinite lists
bktrees 0.1.1. Uploaded by Josef Svenningsson. bktrees, Burhard-Keller trees provide an implementation of sets which apart from the ordinary operations also has an approximate member search, allowing you to search for elements that are of a certain distance from the element you are searching for.
happy 1.17. Uploaded by Simon Marlow. happy, a parser generator for Haskell.
HaXml 1.19. Uploaded by Malcolm Wallace. HaXml, utilities for parsing, filtering, transforming and generating XML documents.
polyparse 1.1. Uploaded by Malcolm Wallace. polyparse, A variety of alternative parser combinator libraries, including the original HuttonMeijer set. The Poly sets have features like good error reporting, arbitrary token type, running state, lazy parsing, and so on. Finally, Text.Parse is a proposed replacement for the standard Read class, for better deserialisation of Haskell values from Strings.
bzlib 0.4.0.1 . Uploaded by Duncan Coutts. bzlib, compression and decompression in the bzip2 format.
zlib 0.4.0.1. Uploaded by Duncan Coutts. zlib, compression and decompression in the gzip and zlib formats
tar 0.1.1.1. Uploaded by Bjorn Bringert. tar, a library for reading and writing TAR archives.
unix-compat 0.1.2.0. Uploaded by Bjorn Bringert. unix-compat, provides portable implementations of parts of the unix package. This package re-exports the unix package when available. When it isn't available, portable implementations are used.
oeis 0.1. Uploaded by Brent Yorgey. oeis, Haskell interface to the Online Encyclopedia of Integer Sequences.
dataenc 0.9. Uploaded by Magnus Therning. dataenc, Data encoding library currently providing Uuencode, Base64, Base64Url, Base32, Base32Hex, and Base16.
cabal-setup 1.2.1. Uploaded by Simon Marlow. cabal-setup, cabal-setup is a user interface to Cabal. It provides the basic commands for configuring, building, and installing Cabal packages.
cabal-install 0.4.0. Uploaded by email@example.com. cabal-install, apt-get like tool for Haskell. The 'cabal' command-line program simplifies the process of managing Haskell software by automating the fetching, configuration, compilation and installation of Haskell libraries and programs.
HTTP 3001.0.0. Uploaded by Bjorn Bringert. HTTP, A library for client-side HTTP.
iconv 0.4. Uploaded by Duncan Coutts. iconv, provides an interface to the POSIX iconv library functions for string encoding conversion.
binary 0.4.1. Uploaded by the Binary Strike Team. binary, efficient, pure binary serialisation using lazy ByteStrings. Haskell values may be encoded to and form binary formats, written to disk as binary, or sent over the network. Serialisation speeds of over 1 G/sec have been observed, so this library should be suitable for high performance scenarios.
Cabal 1.2.1. Uploaded by firstname.lastname@example.org. Cabal: the Haskell Common Architecture for Building Applications and libraries = Libraries: a framework defining a common interface for authors to more easily build their Haskell applications in a portable way. The Haskell Cabal is meant to be a part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and tools.
bytestring 0.9. Uploaded by Don Stewart and Duncan Coutts. bytestring. fast, packed, strict and lazy byte arrays with a list interface.
arrows 0.3. Uploaded by Ross Paterson. arrows, Several classes that extend the Arrow class, and some transformers that implement or lift these classes.
sat 1.0. Uploaded by Andrii Zvorygin. sat, CNF(Clausal Normal Form) SATisfiability Solver and Generator.
pcap 0.4. Uploaded by Bryan O'Sullivan. pcap, system-independent interface for user-level packet capture
hslogger4j 0.1.1. Uploaded by Bjorn Buckwalter. hslogger4j, provides handlers for hslogger (John Goerzen's Haskell logging library) that are compatible with log4j's XMLLayout. In particular log messages created by the handlers can be published directly to the GUI-based log viewer Chainsaw v2.
IndentParser 0.2.1. Uploaded by Piyush P Kurur. IndentParser, provides two modules, Text.ParserCombinators.Parsec.IndentParser and Text.ParserCombinators.Parsec.IndentToken, for constructing parser combinators for indentation based syntactic structures. The former exports the basic indentation parser combinators and the later together with Text.ParserCombinators.Parsec.Language and Text.ParserCombinators.Parsec.Token can be used to define tokenisers for programming languages.
lazysmallcheck 0.1. Uploaded by Matthew Naylor and Fredrik Lindblad. lazysmallcheck, a library for exhaustive, demand-driven testing of Haskell programs. It is based on the idea that if a property holds for a partially-defined input then it must also hold for all fully-defined instantiations of the that input. Compared to `eager' input generation as in SmallCheck, Lazy SmallCheck may require significantly fewer test-cases to verify a property for all inputs up to a given depth.
HPDF 1.2. Uploaded by alpheccar. HPDF, A PDF library with support for several pages, page transitions, outlines, annotations, compression, colors, shapes, patterns, jpegs, fonts, typesetting ...
xmonad. Uploaded by Spencer Janssen and Don Stewart. xmonad, xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. All features of the window manager are accessible from the keyboard: a mouse is strictly optional. xmonad is written and extensible in Haskell. Custom layout algorithms, 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 screens.
HCL 1.2. Uploaded by Justin Bailey. HCL, provides a set of functions for building simple command-line interfaces. It allows interfaces which collect values (such as Integers, Dates, or other structured values), build lists of values, and use simple menus. It is not intended to build complex interfaces with full cursor control. It is oriented towards line-based interfaces.
safecopy 0.2. Uploaded by David Himmelstrup. safecopy, an extension to Data.Binary with built-in version control.
selenium 0.2.1. Uploaded by Aaron Tomb. selenium, Haskell bindings to communicate with a Selenium Remote Control server. This package makes it possible to use Haskell to write test scripts that exercise web applications through a web browser.
HsOpenSSL 0.2. Uploaded by PHO. HsOpenSSL, a (part of) OpenSSL binding for Haskell. It can generate RSA and DSA keys, read and write PEM files, generate message digests, sign and verify messages, encrypt and decrypt messages.
X11-extras 0.4. Uploaded by Spencer Janssen. X11-extras, missing bindings to the X11 graphics library.
X11-1.2.3. Uploaded by Don Stewart. X11, a Haskell binding to the X11 graphics library.
flow2dot-0.2. Uploaded by Dmitry Astapov. flow2dot, generates sequence diagrams from textual descriptions with help of Graphviz graph drawing tool.
hsSqlite3-0.0.1. Uploaded by Evgeny Jukov. hsSqlite, Bindings for Sqlite3
X11-xft-0.1. Uploaded by Clemens Fruhwirth. X11-xft, Bindings to the Xft, X Free Type interface library, and some Xrender parts.
metaplug-0.1.1. Uploaded by Austin Seipp. metaplug, a ghc-api wrapper, designed to make the api more transparent across releases and offer eval and plugin esque facilities in the form of a simple, easy to modify library.
dimensional. Uploaded by Bjorn Buckwalter. dimensional, a library providing data types for performing arithmetic with physical quantities and units. Information about the physical dimensions of the quantities and units is embedded in their types and the validity of operations is verified by the type checker at compile time. The boxing and unboxing of numerical values as quantities is done by multiplication and division with units. The library is designed to, as far as is practical, enforce/encourage best practices of unit usage.
ProbabilityMonads. Uploaded by Eric Kidd. ProbabilityMonads, tools for random sampling, explicit enumeration of possible outcomes, and applying Bayes' rule. Highly experimental, and subject to change. In particular, the Data.Probability API is rather poor and could stand an overhaul.
MonadRandom. Uploaded by Eric Kidd . MonadRandom, support for computations which consume random values.
MaybeT. Uploaded by Eric Kidd. MaybeT, Support for computations with failures.
network-bytestring. Uploaded by Johan Tibell. network-bytestring, Faster and more memory efficient low-level socket functions using Data.ByteStrings instead of Strings.
irc. Uploaded by Trevor Elliott. irc, a set of combinators and types for parsing IRC messages.
clevercss. Uploaded by Georg Brandl. clevercss, a CSS preprocessing library that allows defining variables and nesting selectors so that you don't need to Repeat Yourself.
HsHyperEstraier. Uploaded by PHO. HsHyperEstraier, a HyperEstraier binding for Haskell. HyperEstraier is an embeddable full text search engine which is supposed to be independent to any particular natural languages.
libmpd. Uploaded by Ben Sinclair. libmpd, client library for MPD, the Music Player Daemon.
hS3. Uploaded by Greg Heartsfield. hS3, provides an interface to Amazon's Simple Storage Service (S3), allowing Haskell developers to reliably store and retrieve arbitrary amounts of data from anywhere on the Internet.
infinity. Uploaded by Austin Seipp. infinity, tiny IRC bot, extendable through plugins written in haskell
WURFL. Uploaded by alpheccar. WURFL, support for the WURLF file format
hburg. Uploaded by Igor Boehm. hburg, a program that generates tree parsers for cost-augmented tree grammars. It is useful for writing code generators for compilers. Given a mapping of a tree structured intermediate representation onto target machine instructions, HBURG generates a code generator that can be plugged into the instruction selection phase of a compiler.
ipprint. Uploaded by Gleb Alexeyev. ipprint, tiny helper for pretty-printing values in ghci console
numbers. Uploaded by Lennart Augustsson. numbers, instances of the numerical classes for a variety of different numbers: (computable) real numbers, arbitrary precision fixed numbers, arbitrary precision floating point numbers, differentiable numbers, symbolic numbers, natural numbers, interval arithmetic.
numeric-quest. Uploaded by Henning Thielemann. numeric-quest, List based linear algebra, similtaneous linear equations, eigenvalues and eigenvectors, roots of polynomials, transcendent functions with arbitrary precision implemented by continued fractions, quantum operations, tensors
shell-pipe. Uploaded by Henning Thielemann. shell-pipe, shell scripting stuff.
hstats. Uploaded by Marshall Beddoe. hstats, library of commonly used statistical functions.
Finance. An NYC finance company requires an expert level Haskell user; must be comfortable with monads, monad transformers, type level programming (i.e. MPTC, overlapping and undecidable instances), and lazy evaluation (i.e. know how to find and eliminate space leaks).
Web Developer. RedNucleus Ltd requires a highly motivated programmer for a full or part-time posititon developing social web applications. Initially you will develop and maintain applications using RubyOnRails or a similar framework, but there will be opportunities to explore new web programming paradigms with declarative languages. The successful application will have exposure to functional programming methodologies, e.g. in Haskell, Lisp or Erlang
New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to
dons at galois.com. The darcs
repository is available at
darcs get http://www.cse.unsw.edu.au/~dons/code/hwn