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).

Announcements

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
announcedstorable-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.

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.

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.

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
announcedwp-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-0.0.0.2. Ki Yung Ahn
announcedmemscript,
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.

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!

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.

Discussion

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.

Jobs

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

pumpkin: we should throw it
[CReal] in with Foreign.C.Types to confuse people

MyCatVerbs: The *real* best way to optimize a
program is to tell dons that it's been added to the Shootout.

SimonFrankau: The points-free approach, while elegant,
can make code unreadable, especially if it is written by quantitative
analysts moonlighting as functional programmers.

ValarQ:
l33t_h4x0r: could you help me port GHC to the AVR architecture? <--
l33t_h4x0r has left #haskell

gwern: drat. what *do*
all you people talk about? only one bacon and one zombie quote

quicksilver: well if you can get proggit to help with your
interview, then perhaps you can get proggit to help with the job when
you get it. So it's not cheating, it's just an indication of one of your
skill sets.

shapr: I haven't tried F#, everytime I
get the urge to do something fun with .NET I have SharePoint flashbacks
and buy more hardware instead.

gwern: bleh. haskell
is messing me up. I wondered what operator =) is, before I realized it
was a syntax error, before I realized it was an emoticon