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

Sorry for the massive HWN, I missed last week so you're getting two for the price of one! Registration for Hac phi is now open, be sure to register soon (register by June 15 to get a special hotel rate).


Reminder: Haskell Implementers' Workshop CFT deadline in 2 weeks. Simon Marlow reminded everyone to consider submitting a talk proposal for the Haskell Implementers' Workshop, to be held in conjunction with ICFP in Edinburgh, Scotland on 5 September. The deadline for submissions is a couple of weeks away (15 June); all that is needed is an abstract.

storable-record. Henning Thielemann announced storable-record, a small package for simplified declaration of Storable instances for records. It may be used as an alternative to the c2hs preprocessor. It was made possible by advanced applicative technology, a cutting edge LCM monoid and an incredible constructor power tower.

Haskell Communities and Activities Report (16th ed., May 2009). Janis Voigtlaender announced the availability of the 16th Haskell Communities and Activities Report.

hledger 0.5 released. Simon Michael announced the release of version 0.5 of hledger, a (mostly) text-mode double-entry accounting tool that generates precise activity and balance reports from a plain text journal file.

New repository and trac for haskell-src-exts. Niklas Broberg announced some new infrastructure for the haskell-src-exts package, set up in preparation for his GSoC project. with the HSP packages, it's now old enough to be allowed to live on its own. There is also a bug tracker. Please help by reporting any bugs you come across, or by requesting new and cool features.

bsd-sysctl 1.0.3. Maxime Henrion announced the release of bsd-sysctl 1.0.3, a package that provides a System.BSD.Sysctl module allowing access to the C sysctl(3) API. It should fully work on FreeBSD, NetBSD and Mac OS X platforms.

multirec-binary. Sebastiaan Visser announced the release of multirec-binary, which allows generic derivation of Data.Binary instances using the MultiRec library.

notice for package authors. Duncan Coutts announced that Hackage uploads will soon require an upper bound on the version of the base package and reject packages that omit it. This will hopefully result in less breakage the next time a new version of the base package is released.

(Pre-) Announce: Data.GDS 0.1.0. Uwe Hollerbach (pre-) announced Data.GDS, a small module to write and (eventually) read GDS files, a classic format of the semiconductor industry. The module can currently generate GDS files with a fairly low-level interface; planned future versions (which will be uploaded to Hackage) will have a higher-level interface and be able to parse GDS files as well.

new version of uu-parsinglib. S. Doaitse Swierstra announced that a new version of the uu-parsinglib library has been uploaded to hackage. It is now based on Control.Applicative where possible. Be warned that functions like some and many will be redefined in the future.

Hac phi: Haskell hackathon in Philadelphia, July 24-26. Brent Yorgey announced Hac phi, a Haskell hackathon/get-together to be held July 24-26 at the University of Pennsylvania in Philadelphia. The hackathon will officially kick off at 2:30 Friday afternoon, and go until 5pm on Sunday (with breaks for sleep, of course). Everyone is welcome---you do not have to be a Haskell guru to attend! Helping hack on someone else's project could be a great way to increase your Haskell-fu. If you plan on coming, please register. There is a block of hotel rooms available at a special rate only until June 15, so register early! More details can be found on the Hac phi wiki.

Job for someone: make a VM image for GHC development. Simon Marlow suggested a useful project for someone looking for something to do: create a VM image of a Linux system with a complete GHC development environment set up and ready to go.

My attempt at Haskell USB. Mauricio announced some Haskell bindings to libusb, and gave another plug for his bindings-common package, which makes it easier to generate Haskell bindings to low-level libraries.

second alpha release of OSX haskell platform installer. Gregory Collins announced a second candidate release for the OSX Haskell Platform installer. Please try it out!

Release Schedule for 2009.2.0.2. Don Stewart announced the release schedule for the next minor release of the 2009.2.0 branch of the Haskell Platform. The freeze for package changes will be Wednesday 1 July, and the release is scheduled for Monday 13th July.

hscamwire, for IIDC1394 cameras. Frederick Ross announced the release of hscamwire 0.1, which provides a nice Haskellized layer over Camwire, a library to connect to IIDC1394 cameras (most scientific and industrial Firewire cameras) on Linux.

Safe and generic printf with C-like format string. oleg announced some code to implement a type-safe polyvariadic version of printf, which is also integrated with Show so that any showable type can be printed.

A library for serial ports. Frederick Ross announced the release of serial-0.1, a library for line-oriented interaction with serial ports on POSIX compatible systems.

HaL4: Haskell-Meeting in Germany, 12th June 2009. Janis Voigtlaender reminded everyone of Hal4, a German-language Haskell gathering to be held in Halle/Saale on June 12. There are already close to 50 registered participants, so expect a very lively meeting! Late registration still possible.

wp-archivebot 0.1 - archive Wikipedia's external links in WebCite. Gwern Branwen announced wp-archivebot, a relatively simple little script which follows all the links in a RSS feed, combs the destination for http:// links, and submits them to WebCite.

memscript- Ki Yung Ahn announced memscript, a command line utility for memorizing scriptures or any other text.

HSH 2.0.0. John Goerzen announced the release of version 2.0.0 of HSH, the Haskell shell scripting library. This version features a complete rewrite of the core using System.Process, a drastic reduction in code size and complexity, cross-platform support, and a simpler and more flexible API.

atom-0.0.5. Tom Hawkins announced version 0.5 of the atom library, a DSL for embedded hard realtime applications. This version includes a few bug fixes and doc improvements.

heap-1.0.0. Stephan Friedrichs announced a rewrite of the heap package, heap-1.0.0. It is not 100% compatible with version 0.6.0, but provides major improvements, including a better mechanism for instantiating min-, max-, min-prio- and max-prio-heaps, and faster {from,to}{Asc,Desc}List conversions.

The Haskell Platform 2009.2.0.1. Don Stewart announced the second release (2009.2.0.1) of the Haskell Platform, a single, standard Haskell distribution for everyone. The specification, along with installers (including Windows and Unix installers for a full Haskell environment) are available.

Anglohaskell 2009. Philippa Cowderoy announced Anglohaskell 2009, to be held at MSR Cambridge on the 7th and 8th of August.

code reviewers wanted for hashed-storage (darcs). Eric Kow solicited anyone with a few spare hours this summer willing to help the Darcs project as a code reviewer for the standalone hashed-storage module, which will be used by Darcs in the future. No Darcs experience is needed!

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Haddock improvements. Isaac Dupree has begun looking at the Haddock code, and has a question about which of two options he should pursue.

EclipseFP. Thomas Ten Cate has posted an explanation of how the Scion client/server model works.

Space profiling. Gergely Patai has uploaded a preliminary version of the hp2any core library which handles heap profiles both during and after execution. He has also posted some pretty graphs generated by a simple utility built on top of the core library.

haskell-src-exts. Niklas Broberg has begun work by making a list of all language extensions and the ways in which they affect lexing and parsing, since haskell-src-exts will need to be parameterized over these extensions.

Fast Darcs. Petr Rockai has posted two detailed progress reports already, with many changes to both the standalone hashed-storage library and a fork of darcs which uses it.


Error message reform (was: Strange type error with associated type synonyms). Max Rabkin began an interesting discussion about error messages. Do you have an intuitive sense of which is the 'expected' and which the 'inferred' type?

time library dependencies. Ashley Yakeley asked what dependencies are acceptable for the time library, leading to a discussion of what dependencies are acceptable for base packages.

Bool as type class to serve EDSLs. Sebastiaan Visser started a discussion on the possibility of a type class for representing Boolean values, much like the current Num class for numeric values.


10 jobs in declarative programming. Oege de Moor announced the availability of positions with Semmle and LogicBlox for ten declarative programming consultants, who will work with clients to write custom queries in Datalog, and to create user interfaces in a declarative framework. Semmle and LogicBlox are creating a platform for declarative programming in Datalog, a pure logic programming language. Semmle is based in Oxford, headed by Oege de Moor; LogicBlox is based in Atlanta, headed by Molham Aref. See the announcement for more information and how to apply.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

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.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .