Haskell Weekly News: November 11, 2007

Submitted by dons on Sun, 11/11/2007 - 8:14pm.

Welcome to issue 67 of HWN, a newsletter covering developments in the Haskell community.

This week sees the release of GHC 6.8.1, to rave reviews. There have been many reports of large performance improvements for Haskell programs, from small to large production systems. Congratulations to the GHC team for such a great release!


GHC 6.8.1. Ian Lynagh announced the release of GHC 6.8.1, a new major release of GHC. There have been a number of significant changes since the last major release, including: Haskell Program Coverage support, the GHCi debugger, pointer tagging in the runtime (with up to 10-15% speedups), constructor specialisation, improved optimisations and much more! The full release notes are available.

Gtk2Hs Duncan Coutts announced version of gtk2hs is now available. gtk2hs is the standard graphics library for Haskell.

Lazy SmallCheck 0.1. Matthew Naylor announced Lazy SmallCheck 0.1, a library for exhaustive, demand-driven testing of Haskell programs.

HDBC 1.1.3. John Goerzen announced new releases of HDBC, the Haskell database connectivity kit, and its associated backends (for sqlite3, postgresql, odbc).

xmobar. Andrea Rossato announced the release of Xmobar-0.8, a minimalistic, text based, status bar. It was specifically designed to work with the XMonad Window Manager.

Flymake Haskell. Daisuke Ikegami announced flymake haskell, emacs bindings for interactive Haskell editing.

network bytestring. Johan Tibbel announced, strict ByteString versions of the recv/send family of functions for efficient network IO.

ByteString search. Bryan O'Sullivan announced a cabalised version of the fast Boyer-Moore and Knuth-Morris-Pratt string search code for ByteStrings

Generating free theorems. Janis Voigtlaender announced an improved version of the online and offline free theorems generator for Haskell

hslogger4j 0.1.1. Bjorn Buckwalter announced Hslogger4j, which provides handlers for hslogger (John Goerzen's Haskell logging framework) that are compatible with log4j's XMLLayout.

Infinity 0.3. Austin Seipp announced `infinity', an IRC bot in Haskell

hswm. Remi Turk announced the first and last release of hswm, a Haskell window manager.


This week's new libraries in the Hackage library database.
  • xmobar-0.8. Uploaded by Andrea Rossato. xmobar, a minimalistic text based status bar

  • hsSqlite3-0.0.4. Uploaded by Evgeny Jukov. hsSqlite3, bindings for Sqlite3

  • cabal-rpm-0.3.2. Uploaded by Bryan OSullivan. cabal-rpm turns Haskell Cabal source packages into source and binary RPM packages.

  • selenium-0.2.2. 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.

  • HPDF-1.3. Uploaded by alpheccar. HPDF. A PDF library with support for several pages, page transitions, outlines, annotations, compression, colors, shapes, patterns, jpegs, fonts, typesetting ...

  • FileManip-0.3.1. Uploaded by Bryan OSullivan. FileManip, a Haskell library for working with files and directories. Includes code for pattern matching, finding files, modifying file contents, and more.

  • stringsearch-0.2. Uploaded by Bryan OSullivan. stringsearch, fast search of ByteStrings.

  • nano-md5-0.1. Uploaded by Don Stewart. nano-md5, ByteString bindings to OpenSSL.

  • denominate-0.4.1. Uploaded by Calvin Smith. denominate provides a main program for performing bulk file and directory renaming, using a built-in filename converter or user-defined converters.

  • ContArrow 0.0.2. Uploaded by Evgeny Jukov. ContArrow, Control.Arrow.Transformer.Cont

  • state 0.0.2. Uploaded by Evgeny Jukov. state. State.

  • infinity 0.3. Uploaded by Austin Seipp. infinity, a tiny, pluggable irc bot.

  • unix-compat Uploaded by Duncan Coutts. unix-compat, portable implementations of parts of the unix package.

  • Ranged-sets 0.1.1. Uploaded by Paul Johnson. Ranged-sets. A ranged set is an ordered list of ranges.

  • IFS 0.1.1. Uploaded by alpheccar. IFS, a library to describe IFS and generate PPM pictures from the descriptions

  • bktrees 0.1.3. 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.

  • pqc 0.2. Uploaded by Don Stewart. pqc, a parallel batch driver for QuickCheck

  • strict 0.2. Uploaded by Don Stewart. strict, strict data types.

  • HsSVN 0.2. Uploaded by PHO. HsSVN, (Part of) Subversion binding for Haskell

  • HsHyperEstraier 0.2. 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.

  • HsOpenSSL 0.3.1. 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.

  • Finance-Quote-Yahoo 0.4. Uploaded by Brad Clawsie. Finance-Quote-Yahoo, obtain quote data from finance.yahoo.com

  • LRU 0.1.1. Uploaded by Adam Langley. LRU, an LRU data structure

  • base 3.0. Uploaded by Ross Paterson. base, the Prelude and its support libraries, and a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities.

  • regex-posix Uploaded by Duncan Coutts. regex-posix, posix regex support.

  • xhtml 3000.0.2.1. Uploaded by Bjorn Bringert. xhtml, combinators for producing XHTML 1.0, including the Strict, Transitional and Frameset variants.

  • Win32 Uploaded by Esa Ilari Vuokko. Win32, a binding to part of the Win32 library

  • unix Uploaded by Ross Paterson. unix, POSIX functionality

  • time Uploaded by Ross Paterson. time, time handling.

  • template-haskell Uploaded by Ross Paterson. template-haskell, support for manipulating Haskell syntax trees

  • stm Uploaded by Ross Paterson. stm, software transational memory

  • regex-compat Uploaded by Ross Paterson. regex-compat, backwards compatible regex support

  • regex-base Uploaded by Ross Paterson. regex-base, regex support.

  • readline Uploaded by Ross Paterson. readline, an interface to the GNU readline library

  • random Uploaded by Ross Paterson. random, random number generation

  • QuickCheck Uploaded by Ross Paterson. QuickCheck, automatic testing of Haskell programs

  • process Uploaded by Ross Paterson. process, jobs and processes

  • pretty Uploaded by Ross Paterson. pretty, pretty printing library.

  • parsec Uploaded by Ross Paterson. parsec, monadic parser combinators.

  • parallel Uploaded by Ross Paterson. parallel, support for parallel programming

  • packedstring Uploaded by Ross Paterson. packedstring, packed strings

  • OpenGL Uploaded by Ross Paterson. OpenGL, binding for the OpenGL graphics system

  • OpenAL Uploaded by Ross Paterson. OpenAL, binding to the OpenAL cross-platform 3D audio API.

  • old-time Uploaded by Ross Paterson. old-time, time library.

  • alex 2.2. Uploaded by Simon Marlow. alex is a tool for generating lexical analysers in Haskell

  • Cabal Uploaded by Duncan Coutts. Cabal is the framework for packaging Haskell software

  • HaXml 1.19.1. Uploaded by Malcolm Wallace. HaXml, Utilities for manipulating XML documents

  • HDBC-odbc Uploaded by John Goerzen. HDBC-odbc, ODBC driver for HDBC

  • HDBC-postgresql Uploaded by John Goerzen. HDBC-postgresql is a PostgreSQL driver for HDBC

  • HDBC-sqlite3 Uploaded by John Goerzen. HDBC-sqlite3 is a Sqlite v3 driver for HDBC

  • HDBC 1.1.3. Uploaded by John Goerzen. HDBC is a Haskell Database library

  • X11 1.3.0. Uploaded by Don Stewart. X11 is a library of bindings to the X11 libraries and server

  • HsOpenSSL 0.3. Uploaded by Masatake Daimon. HsOpenSSL, (Part of) OpenSSL binding for Haskell

  • Imlib 0.1. Uploaded by Cale Gibbard. Imlib, Haskell binding for Imlib 2

  • Stream 0.2.2. Uploaded by Wouter Swierstra. Stream, a library for manipulating infinite lists.

  • sat 1.0. Uploaded by AndriiZvorygin. sat, CNF SATisfier

  • torrent 2007.10.27. Uploaded by David Himmelstrup. torrent, BitTorrent file parser

  • bencode 0.2. Uploaded by David Himmelstrup. bencode, Parser and printer for bencoded data.

  • SDL 0.5.1. Uploaded by David Himmelstrup. SDL, binding to libSDL

  • NGrams 1.0. Uploaded by Justin Bailey. ngrams, Simple application for calculating n-grams using Google


Bootstrapping Haskell. Andrew Copping wondered how the first Haskell compilers were bootstrapped, leading to some interesting historical details.

GHC 6.8 performance. Dan Piponi asked about Haskell performance for low level array manipulation, with some excellent speedups produced by GHC 6.8


Software Development Engineer at MSR. Don Syme announced that the F Sharp team is hiring! We have two positions open right now. The first is a software development engineer specializing in Visual Studio and libraries. The second Post Calendar is a software development engineer

PhD position at Chalmers. John Hughes announced that the Functional Programming group at Chalmers is seeking to recruit a PhD student to work on domain-specific languages embedded in Haskell for hardware design, and for programming graphics processors. PhD positions in Sweden are 'real jobs', paying a respectable salary for up to five years.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • faxathisia: Omg! I spent 2 days writing this code and it's worked the first time I run it. Only possible with Haskell :D
  • anonymous: The thing is Haskell isn't suited for young people, whereas the OBJECT model of C++ is
  • sethg: I feel like I still dont understand comonads
  • fnord123: Haskell mainly helps with my C++ template coding when I'm doing money oriented programming
  • Tac-Tics: I get the feeling if all I ever use is the IO monad, someone here will shower me in holy monad fire and cleanse the evil from me.... leaving burn marks all over
  • Anton van Straaten: there's a new movement towards 'functional eating' which involves using a knife and fork (think ML) or chopsticks (Haskell ;) instead of a chainsaw. Its proponents claim that this approach is far superior, but chainsaw fans are skeptical.
  • SamB: what happens in the monad... stays in the monad...
  • Brent Yorgey: Friends don't let friends write in COBOL.
  • Bulat Ziganshin: It's a whole new era in low-level GHC programming

About the Haskell Weekly News

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://code.haskell.org/~dons/code/hwn/